Methods and systems for alerting practitioners to physiological conditions
11298076 · 2022-04-12
Assignee
Inventors
Cpc classification
A61B5/7282
HUMAN NECESSITIES
A61B5/7475
HUMAN NECESSITIES
A61B5/7246
HUMAN NECESSITIES
A61B5/02416
HUMAN NECESSITIES
G08B21/0453
PHYSICS
A61B5/002
HUMAN NECESSITIES
A61B5/0205
HUMAN NECESSITIES
A61B5/7278
HUMAN NECESSITIES
A61B5/746
HUMAN NECESSITIES
A61B5/1455
HUMAN NECESSITIES
International classification
A61B5/00
HUMAN NECESSITIES
A61B5/1455
HUMAN NECESSITIES
A61B5/0205
HUMAN NECESSITIES
A61M16/00
HUMAN NECESSITIES
Abstract
Embodiments of the present disclosure provide systems and methods for monitoring a patient to produce a signal representing a blood oxygen concentration. The signal may be analyzed to determine the presence of one or more sleep apnea events, and an integral of the signal may be calculated if the signal is outside of a set range or threshold. A practitioner may choose to be informed of the presence of sleep apnea events if the blood oxygen concentration is less then a preset limit, if an upper limit has been reached for an integral representing the severity of the oxygen deprivation over time, or anytime sleep apnea events may be present in the signal.
Claims
1. A system, comprising: a processor configured to: determine a presence of a plurality of oxygen desaturation patterns in a photoplethsymograph (PPG) signal; determine that a first oxygen desaturation pattern of the plurality of oxygen desaturation patterns is qualified based on a qualification function; adjust the qualification function in response to determining that the first oxygen desaturation pattern is qualified; determine that a second oxygen desaturation pattern of the plurality of oxygen desaturation patterns is qualified based on the adjusted qualification function, wherein the adjusted qualification function is less stringent than the qualification function, and wherein the second oxygen desaturation pattern is not qualified based on the qualification function but is qualified based on the adjusted qualification function; and trigger a sleep apnea alarm in response to the determination that the first oxygen desaturation pattern and the second oxygen desaturation pattern are qualified.
2. The system of claim 1, wherein the processor is configured to count consecutive qualified desaturation patterns and to trigger the sleep apnea alarm in response to a count above a predetermined alarm count threshold.
3. The system of claim 2, wherein the processor is configured to adjust the qualification function in response to the count of the consecutive desaturation patterns being above a predetermined qualification count.
4. The system of claim 1, wherein the qualification function is based on: a slope ratio between the fall slope and the rise slope of a desaturation pattern; a magnitude of the desaturation pattern between a rise peak and a fall peak; a fall slope of the desaturation pattern between a fall peak and a nadir; a path length ratio of the desaturation pattern; a difference between consecutive desaturation patterns; or a combination thereof.
5. The system of claim 1, comprising a PPG sensor configured to generate the PPG signal.
6. The system of claim 1, wherein the processor is configured to increase an air pressure supplied by the system in response to triggering the sleep apnea alarm.
7. The system of claim 1, wherein the processor is configured to adjust the qualification function to qualify desaturation patterns having maximum oxygen saturations above a threshold.
8. A system, comprising: a photoplethsymograph (PPG) sensor configured to generate a PPG signal; and a patient monitor comprising: a processor configured to: receive the PPG signal from the PPG sensor; determine a presence of one or more oxygen desaturation patterns in a photoplethsymograph (PPG) signal; determine that a first oxygen desaturation pattern of the one or more oxygen desaturation patterns is indicative of sleep apnea based on at least a predetermined range or a predetermined threshold; increase a count of consecutive desaturation patterns in response to determining that the first oxygen desaturation pattern is indicative of sleep apnea based on the predetermined range or the predetermined threshold, wherein the first oxygen desaturation pattern is within a predetermined time period; adjust a qualification function based on the count of consecutive desaturation patterns; determine that a second oxygen desaturation pattern is indicative of sleep apnea, and wherein the second oxygen desaturation pattern is not qualified based on the qualification function but is qualified based on the adjusted qualification function; and provide an indication of sleep apnea in response to determining that both the first oxygen desaturation pattern and the second oxygen desaturation pattern are indicative of sleep apnea.
9. The system of claim 8, comprising a display coupled to the processor, wherein the processor is configured to provide the indication of sleep apnea as a visual indicator on the display.
10. The system of claim 8, comprising a mask operatively coupled to the processor, wherein the processor is configured to increase an air pressure supplied by the system via the mask in response to providing the indication of sleep apnea.
11. The system of claim 8, comprising a network interface operatively coupled to the processor and configured to send the indication of sleep apnea to a device located on a local area network.
12. The system of claim 8, wherein the first oxygen desaturation pattern and the second oxygen desaturation pattern are part of a cluster of the one or more oxygen desaturation patterns in the PPG signal.
13. The system of claim 8, wherein the processor is configured to: determine a value for an integral in response to a determination that the PPG signal is outside of a PPG range or a PPG threshold; compare the value of the integral to an integral threshold; and provide the indication of sleep apnea based on a result of the comparing and the determination that first oxygen desaturation pattern and the second oxygen desaturation pattern are indicative of sleep apnea.
14. A method, comprising: determining, via the processor, a presence of one or more oxygen desaturation patterns in a photoplethsymograph (PPG) signal; adjusting, via the processor, a qualification function in response to a determination that a first oxygen desaturation pattern of the one or more oxygen desaturation patterns is indicative of sleep apnea; determining, via the processor, that a second oxygen desaturation pattern of the plurality of oxygen desaturation patterns is indicative of sleep apnea, and wherein the second oxygen desaturation pattern is not qualified based on the qualification function but is qualified based on the adjusted qualification function; determining, via the processor, a presence of a cluster based on determining that both the first oxygen desaturation pattern and the second oxygen desaturation pattern are indicative of sleep apnea; determining, via the processor, a value for an integral in response to a determination that the PPG signal is outside of a PPG range or a PPG threshold; and providing, via the processor, an indication of sleep apnea in response to the cluster detection and the value being above a combined alarm limit associated with cluster detection.
15. The method of claim 14, wherein the combined alarm limit is lower than an integral alarm threshold associated with no cluster detection.
16. The method of claim 14, wherein the indication of sleep apnea is an alarm.
17. The method of claim 14, wherein the indication of sleep apnea is displayed on a display.
18. The method of claim 14, comprising increasing, via the processor, an air pressure supplied by a system in response to the indication of sleep apnea.
19. The method of claim 14, comprising: generating, via a PPG sensor, the PPG signal; and receiving, via the processor, the PPG signal from the PPG sensor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Advantages of the disclosure may become apparent upon reading the following detailed description and upon reference to the drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
(11) One or more specific embodiments of the present disclosure will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
(12) Medical devices may be used to obtain or calculate signals representing physiological parameters from patients, such as SpO.sub.2 signals related to a patient's level of blood oxygenation. However, these signals, which are sequences of numerical values of a physiological parameter over time, may have too much information or noise to be effectively used in the diagnosis or treatment of certain medical conditions. Accordingly, the signals may be processed to generate alerts, which may provide a more useful representation of the status of the medical condition. Embodiments of the present techniques provide methods that may be useful for generating indicators of a physiological status, based on a signal representing the blood oxygen saturation (SpO.sub.2) level in a patient and, thus, alerting a practitioner to physiologically important conditions.
(13) The indicators may be directly related to the presence of obstructive sleep apnea and may assist practitioners in the diagnosis and treatment of this condition. In embodiments, SpO.sub.2 data collected on a pulse oximeter may be used to calculate or determine the alerts. The relative simplicity of this device could enhance the diagnosis of obstructive sleep apnea by allowing patients to take diagnostic equipment home for use overnight and return the equipment to a practitioner for analysis and diagnosis.
(14) Previous studies have examined the possibility of generating a single index reflective of sleep apnea from pulse oximetry data, such as an airway instability index, but many have used schemes that may either be challenging for a practitioner to implement in a treatment setting or overly sensitive to changes. As embodiments may be implemented using current medical devices, their implementation may be easier to explain and use than a more complex calculation for an airway instability index.
(15)
(16) The microprocessor 16 may also be coupled to a network interface 26 for the transfer of data from the microprocessor 16 to devices coupled to a local area network 28. The transferred data may, for example, include signal data, indices including an airway instability index, alert signals, alarm signals, or any combination thereof. The transferred data may also consist of control signals from the devices on the local area network 28, for example, to instruct the medical device 10 to send signal data, or other information, to a device on the local area network 28.
(17) In an embodiment, the medical device 10 may be used to alert a practitioner to a physiological condition using data collected from the sensor 12. The alert may be output to the display unit 24 or sent to a network device on the local area network 28. The processing may take place in real time, or may be run after the data collection may be completed for later identification of the physiological condition.
(18) In another embodiment, a network device located on the local area network 28 may be configured to alert a practitioner to the presence of a physiological condition using the data collected from the sensor 12. In this embodiment, the network device may request that the signal be sent from the medical device 10 through the network interface 26. As for the embodiment discussed above, the network device may be used to either determine the alert signal in real time or to process a previously collected signal for later identification of the physiological condition.
(19) In either of the embodiments above, the alert signals may appear on devices on the local area network 28, for example, a patient monitoring screen in an ICU. Alternatively, the alert signals may appear on the display unit 24 of the medical device 10. In embodiments, an alert signal may be activated in both locations using the results from either a local calculation on the medical device 10 or from a remote calculation on a network device coupled to the local area network 28.
(20) The microprocessor 16 may also be coupled to a treatment device 30. For example, the treatment device 30 may be a positive pressure mask used to supply air at an increased pressure to maintain an open airway. In an embodiment, the treatment device 30 may be controlled by the microprocessor 16, for example, activating the treatment device 30 to open an airway based on the alert signals. This control may be useful in helping to confirm a diagnosis of obstructive sleep apnea, as restoration of the airway may restore blood oxygen levels to more normal levels.
(21) A diagnosis of sleep apnea may also be aided by the sound the patient may be making during the sleep apnea events. For example, cessation of breathing following by a sudden gasping intake of breath may provide or confirm the diagnosis. However, such events may be irregularly spaced or may be separated by large time intervals, making any continuous audio recording of the patient tedious and/or expensive to analyze. An audio recording device 32 may be coupled to the microprocessor 16 for recording sounds made by the patient. In an embodiment, the microprocessor 16 may activate the audio recording device 32 based on the alert signals and record patient sounds when a sleep apnea event may be likely to be occurring. When combined with the alert signals, the sound recordings are likely to provide a positive diagnosis of obstructive sleep apnea.
(22) Exemplary embodiments activate alert signals on the value of two general conditions. The first condition may be the presence or absence of clusters in the SpO.sub.2 signal, as discussed below. The second condition may be the value of an integral calculated from the absolute level of the SpO.sub.2 signal in comparison to previous set limits. The determination of these conditions is discussed in detail with respect to
(23)
(24) The determination of the presence of one or more desaturation patterns 38 may be performed by any number of different techniques. For example, in an embodiment, a single one of the desaturation patterns 38 may be identified by a combination of events, such as when a continuously calculated slope 44 of the SpO.sub.2 signal 34 drops to a previously selected value, e.g. −1.5 and the SpO.sub.2 signal crosses a predetermined SpO.sub.2 level, e.g., 85%. In another embodiment, desaturation patterns 38 may be identified using the methods discussed in U.S. Pat. No. 6,760,608 (hereinafter the '608 patent), incorporated by reference for all purposes as if fully set forth herein. Any number of different numerical values may be used in the determination of the presence of desaturation patterns 38, for example, in embodiments, the value of the slope 44, selected to indicate the start of one of the desaturation patterns 38, may be −0.5, −1.0, −1.5, −2, or any value in between. Further, in embodiments, the predetermined SpO.sub.2 level used to indicate the start of one of the desaturation patterns 38 may be 95%, 90%, 85%, 80%, 75%, or any appropriate value in between.
(25) Recurring sleep apnea events may often occur in groups of at least two successive desaturation patterns 38, called a cluster 46. The severity of the apnea may be determined from, for example, the number of desaturation patterns 38 in each cluster 46, the time between each one of the desaturation patterns 38, the slope of the drop 40 in the blood oxygen level during each one of the desaturation patterns 38 or the slope of the recovery 42 of the blood oxygen level as each one of the desaturation patterns 38 ends, among others.
(26) In an embodiment, a medical monitor or electronic device may include a module or a set of programming instructions for detecting desaturation patterns or clusters and for detecting desturation below certain limits.
(27) It should be noted that, in order to detect certain data patterns, embodiments of the present disclosure may utilize systems and methods such as those disclosed in U.S. Pat. No. 6,760,608, U.S. Pat. No. 6,223,064, U.S. Pat. No. 5,398,682, U.S. Pat. No. 5,605,151, U.S. Pat. No. 6,748,252, U.S. application Ser. No. 11/455,408 filed Jun. 19, 2006, U.S. application Ser. No. 11/369,379 filed Mar. 7, 2006, and U.S. application Ser. No. 11/351,787 filed Feb. 10, 2006. Accordingly, U.S. Pat. No. 6,760,608, U.S. Pat. No. 6,223,064, U.S. Pat. No. 5,398,682, U.S. Pat. No. 5,605,151, U.S. Pat. No. 6,748,252, U.S. application Ser. No. 11/455,408 filed Jun. 19, 2006, U.S. application Ser. No. 11/369,379 filed Mar. 7, 2006, and U.S. application Ser. No. 11/351,787 filed Feb. 10, 2006 are each incorporated herein by reference in their entirety for all purposes.
(28) The RD feature 102 may be capable of performing an algorithm for detecting reciprocations in a data trend. Specifically, the algorithm of the RD feature 102 may perform a statistical method to find potential reciprocation peaks and nadirs in a trend of SpO.sub.2 data. A nadir may be defined as a minimum SpO.sub.2 value in a reciprocation. The peaks may include a rise peak (e.g., a maximum SpO.sub.2 value in a reciprocation that occurs after the nadir) and/or a fall peak (e.g., a maximum SpO.sub.2 value in a reciprocation that occurs before the nadir). Once per second, the RD feature 102 may calculate a 12 second rolling mean and standard deviation of the SpO.sub.2 trend. Further, based on these mean and standard deviation values, an upper band and lower band 122 with respect to an SpO.sub.2 trend 124, as illustrated by the graph 226 in
Upper Band=mean+standard deviation;
Lower Band=mean−standard deviation.
(29) Once the upper band 120 and lower band 122 have been determined, potential reciprocation peaks and nadirs may be extracted from the SpO.sub.2 trend 124 using the upper band 120 and the lower band 124. Indeed, a potential peak may be identified as the highest SpO.sub.2 point in a trend segment which is entirely above the upper band 120. Similarly, a potential nadir may be identified as the lowest SpO.sub.2 point in a trend segment that is entirely below the lower band 122. In other words, peaks identified by the RD feature 102 may be at least one standard deviation above the rolling mean, and nadirs identified by the RD feature 102 may be at least one standard deviation below the mean. If there is more than one minimum value below the lower band 122, the last (or most recent) trend point may be identified as a nadir. If more than one maximum value is above the upper band 120, the point identified as a peak may depend on where it is in relation to the nadir. For example, regarding potential peaks that occur prior to a nadir (e.g., fall peaks) the most recent maximum trend point may be used. In contrast, for peaks that occur subsequent to a nadir (e.g., rise peaks), the first maximum point may be used. In the example trend data represented in
(30) In one embodiment, a window size for calculating the mean and standard deviation may be set based on historical values (e.g., average duration of a set number of previous reciprocations). For example, in one embodiment, a window size for calculating the mean and standard deviation may be set to the average duration of all qualified reciprocations in the last 6 minutes divided by 2. In another embodiment, an adaptive window method may be utilized wherein the window size may be initially set to 12 seconds and then increased as the length of qualified reciprocations increases. This may be done in anticipation of larger reciprocations because reciprocations that occur next to each other tend to be of similar shape and size. If the window remained at 12 seconds, it could potentially be too short for larger reciprocations and may prematurely detect peaks and nadirs. The following equation or calculation is representative of a window size determination, wherein the output of the filter is inclusively limited to 12-36 seconds, and the equation is executed each time a new reciprocation is qualified:
(31) If no qualified reciprocations in the last 6 minutes:
Window Size=12(initial value)
else:
RecipDur=½*current qualified recip duration+½*previous RecipDur
Window Size=bound(RecipDur,12,36).
(32) With regard to SpO.sub.2 signals that are essentially flat, the dynamic window method may fail to find the three points (i.e., a fall peak, a rise peak, and a nadir) utilized to identify a potential reciprocation. Therefore, the RD feature 102 may limit the amount of time that the dynamic window method can search for a potential reciprocation. For example, if no reciprocations are found in 240 seconds plus the current adaptive window size, the algorithm of the RD feature 102 may timeout and begin to look for potential reciprocations at the current SpO.sub.2 trend point and later. The net effect of this may be that the RD feature 102 detects potential reciprocations less than 240 seconds long.
(33) Once potential peaks and nadirs are found using the RD feature 102, the RQ feature 104 may pass the potential reciprocations through one or more qualification stages to determine if a related event is caused by ventilatory instability. A first qualification stage may include checking reciprocation metrics against a set of limits (e.g., predetermined hard limits). A second qualification stage may include a linear qualification function. In accordance with present embodiments, a reciprocation may be required to pass through both stages in order to be qualified.
(34) As an example, in a first qualification stage, which may include a limit-based qualification, four metrics may be calculated for each potential reciprocation and compared to a set of limits. Any reciprocation with a metric that falls outside of these limits may be disqualified. The limits may be based on empirical data. For example, in some embodiments, the limits may be selected by calculating the metrics for potential reciprocations from sleep lab data where ventilatory instability is known to be present, and then comparing the results to metrics from motion and breathe-down studies. The limits may then be refined to filter out true positives.
(35) The metrics referred to above may include fall slope, magnitude, slope ratio, and path length ratio. With regard to fall slope, it may be desirable to limit the maximum fall slope to filter out high frequency artifact in the SpO.sub.2 trend, and limit the minimum fall slope to ensure that slow SpO.sub.2 changes are not qualified as reciprocations. Regarding magnitude, limits may be placed on the minimum magnitude because of difficulties associated with deciphering the difference between ventilatory instability reciprocations and artifact reciprocations as the reciprocation size decreases, and on the maximum magnitude to avoid false positives associated with sever artifact (e.g., brief changes of more than 35% SpO.sub.2 that are unrelated to actual ventilatory instability). The slope ratio may be limited to indirectly limit the rise slope for the same reasons as the fall slope is limited and because ventilatory instability patterns essentially always have a desaturation rate that is slower than the resaturation (or recovery) rate. The path length ratio may be defined as Path Length/((Fall Peak−Nadir)+(Rise Peak−Nadir)), where Path Length=Σ|Current SpO.sub.2 Value−Previous SpO.sub.2 value| for all SpO.sub.2 values in a reciprocation, and the maximum path length ratio may be limited to limit the maximum standard deviation of the reciprocation, which limits high frequency artifact. The following table (Table I) lists the above-identified metrics along with their associated equations and the limits used in accordance with one embodiment:
(36) TABLE-US-00001 TABLE I Metric Equation Minimum Maximum Fall (Nadir − Fall Peak)/Time −1.6 (Fast −0.08 (Fast Slope between Fall Peak Response Response and Nadir Mode) Mode) −1 (Normal −0.05 (Normal Response Response Mode) Mode) Magnitude Max(Rise Peak, Fall 3 35 Peak) − Nadir Slope |Fall Slope/Rise Slope | 0.05 1.75 Ratio Path Path Length = Σ| Current N/A 2 Length SpO2 Value − Previous SpO2 Ratio Value| for all SpO2 values in a Reciprocation. Path Length Ratio = Path Length/((Fall Peak − Nadir) + (Rise Peak − Nadir))
(37) As indicated in Table I above, an oximetry algorithm in accordance with present embodiments may operate in two response modes: Normal Response Mode or Fast Response Mode. The selected setting may change the SpO.sub.2 filtering performed by the oximetry algorithm, which in turn can cause changes in SpO.sub.2 patterns. Therefore a saturation pattern detection feature may also accept a response mode so that it can account for the different SpO.sub.2 filtering. Table I indicates values associated with both types of response mode with regard to the Fall Slope values.
(38) A second qualification stage of the RQ feature 204 may utilize a object reciprocation qualification feature. Specifically, the second qualification stage may utilize a linear qualification function based on ease of implementation, efficiency, and ease of optimization. The equation may be determined by performing a least squares analysis. For example, such an analysis may be performed with MATLAB®. The inputs to the equation may include the set of metrics described below. The output may be optimized to a maximum value for patterns where ventilatory instability is known to be present. The equation may be optimized to output smaller values (e.g., 0) for other data sets where potential false positive reciprocations are abundant.
(39) To simplify optimization, the equation may be factored into manageable sub-equations. For example, the equation may be factored into sub-equation 1, sub-equation D, and sub-equation 2, as will be discussed below. The output of each sub-equation may then be substituted into the qualification function to generate an output. The outputs from each of the sub-equations may not be utilized to determine whether a reciprocation is qualified in accordance with present embodiments. Rather, an output from a full qualification function may be utilized to qualify a reciprocation. It should be noted that the equations set forth in the following paragraphs describe one set of constants. However, separate sets of constants may be used based on the selected response mode. For example, a first set of constants may be used for the Normal Response Mode and a second set of constants may be used for the Fast Response Mode.
(40) Preprocessing may be utilized in accordance with present embodiments to prevent overflow for each part of the qualification function. The tables (Tables II-VII) discussed below, which relate to specific components of the qualification function may demonstrate this overflow prevention. Each row in a table contains the maximum value of term which is equal to the maximum value of the input variable multiplied by the constant, wherein the term “maximum” may refer to the largest possible absolute value of a given input. Each row in a table contains the maximum intermediate sum of the current term and all previous terms. For example, a second row may contain the maximum output for the second term calculated, as well as the maximum sum of terms 1 and 2. It should be noted that the order of the row may match the order that the terms are calculated by the RQ feature 204. Further, it should be noted that in the tables for each sub-equation below, equations may be calculated using temporary signed 32-bit integers, and, thus, for each row in a table where the current term or intermediate term sum exceeds 2147483647 or is less than −2147483647 then an overflow/underflow condition may occur.
(41) A first sub-equation, sub-equation 1, may use metrics from a single reciprocation. For example, sub-equation 1 may be represented as follows:
Eq1Score=SlopeRatio*SrCf+PeakDiff*PdCf+FallSlope*FsCf+PathRatio*PrCf+Eq1Offset,
where SrCf, PdCf, FsCf, PrCf, and Eq1Offset may be selected using least squares analysis (e.g., using MATLAB®). PeakDiff may be defined as equal to |Recip Fall Peak−Recip Rise Peak|. It should be noted that PeakDiff is typically not considered in isolation but in combination with other metrics to facilitate separation. For example, a true positive reciprocation which meets other criteria but has a high peak difference could be an incomplete recovery. That is, a patient's SpO.sub.2 may drop from a baseline to a certain nadir value, but then fail to subsequently recover to the baseline. However, when used in combination with other metrics in the equation, PeakDiff may facilitate separation of two classifications, as large peak differences are more abundant in false positive data sets.
(42) With regard to sub-equation 1, the tables (Tables II and III) set forth below demonstrate that the inputs may be preprocessed to prevent overflow. Further, the tables set forth below include exemplary limits that may be utilized in sub-equation 1 in accordance with present embodiments. It should be noted that Table II includes Fast Response Mode constants and Table III includes Normal Response Mode constants.
(43) TABLE-US-00002 TABLE II Maximum Maximum Maximum Variable Constant Term Intermediate Variable Value Variable Value (b) Value Sum (Sum of all Term Type (a) Preprocessing (Fast Mode) (a * b) previous rows) Overflow PeakDiff*PdCf U8 100 None. This −29282 −2928200 −2928200 NO value may not exceed 100 since the maximum SpO.sub.2 value accepted is 100 SlopeRatio*SrCf U8 255 None −1534 −391170 −3319370 NO FallSlope*FsCf S16 −32768 None −19 622592 −2696778 NO PathRatio*PrCf U16 65535 None −7982 −523100370 −525797148 NO Eq1Offset N/A N/A N/A 809250 809250 −524987898 NO
(44) TABLE-US-00003 TABLE III Maximum Constant Maximum Variable Value (b) Maximum Intermediate Variable Value Variable (Normal Term Value Sum (Sum of all Term Type (a) Preprocessing Mode) (a * b) previous rows) Overflow PeakDiff*PdCf U8 100 None. This −33311 −3331100 −3331100 NO value may not exceed 100 since the maximum SpO.sub.2 value accepted is 100 SlopeRatio*SrCf U8 255 None −2151 −548505 −3879605 NO FallSlope*FsCf S16 −32768 None −706 23134208 19254603 NO PathRatio*PrCf U16 65535 None −6178 −404875230 −385620627 NO Eq1Offset N/A N/A N/A 576330 576330 −385044297 NO
(45) A second sub-equation, sub-equation D, may correspond to a difference between two consecutive reciprocations which have passed the hard limit qualifications checks, wherein consecutive reciprocations include two reciprocations that are separated by less than a defined time span. For example, consecutive reciprocations may be defined as two reciprocations that are less than 120 seconds apart. The concept behind sub-equation D may be that ventilatory instability tends to be a relatively consistent event, with little change from one reciprocation to the next. Artifact generally has a different signature and tends to be more random with greater variation among reciprocations. For example, the following equation may represent sub-equation D:
EqD=SlopeRatioDiff*SrDCf+DurationDiff*DDCf+NadirDiff*NdCf+PathLengthRatioDiff*PrDCf_EqDOffset,
where, SrDCf, DDCf, NdCf, PrDCf, and EqDOffset may be selected using least squares analysis (e.g., using MATLAB®). With regard to other variables in sub-equation D, SlopeRatioDiff may be defined as |Current Recip Slope Ratio−Slope Ratio of last qualified Recip|; DurationDiff may be defined as |Current Recip Duration−Duration of last qualified Recip|; NadirDiff may be defined as |Current Recip Nadir−Nadir value of last qualified Recip|; and PathLengthRatioDiff may be defined as |Current Recip Path Length Ratio−Path Length Ratio of last qualified Recip|.
(46) With regard to sub-equation D, the tables (Tables IV and V) set forth below demonstrate that the inputs may be preprocessed to prevent overflow. Further, the tables set forth below include exemplary limits that may be utilized in sub-equation D in accordance with present embodiments. It should be noted that Table IV includes Fast Response Mode constants and Table V includes Normal Response Mode constants.
(47) TABLE-US-00004 TABLE IV Maximum Maximum Variable Constant Maximum Intermediate Variable Value Variable Value (b) Term Value Sum (Sum of all Term Type (a) Preprocessing (Fast Mode) (a * b) previous rows) Overflow EqDOffset N/A N/A N/A 885030 885030 885030 NO SlopeRatioDiff*SrDCf U8 255 None −2809 −716295 168735 NO DurationDiff U16 240 The Recip detection −2960 −710400 −541665 NO * DDCf module recips less than or equal to 240 seconds long NadirDiff* U8 100 This value may not −13237 −1323700 −1865365 NO NdCf exceed 100 since the maximum SpO2 value accepted in 100 PathLengthRatioDiff U16 65535 None 7809 −511762815 −513628180 NO *PrDCf
(48) TABLE-US-00005 TABLE V Maximum Maximum Variable Constant Maximum Intermediate Variable Value Variable Value (b) Term Value Sum (Sum of all Term Type (a) Preprocessing (Normal Mode) (a * b) previous rows) Overflow EqDOffset N/A N/A N/A 847650 847650 847650 NO SlopeRatioDiff U8 255 None −2629 −670395 177255 NO *SrDCf DurationDiff* U16 240 The Recip detection −4282 −1027680 −850425 NO DDCf module may only detect recips less than or equal to 240 seconds long NadirDiff* U8 100 This value may not −11705 −1170500 −2020925 NO NdCf exceed 100 since the maximum SpO2 value accepted in 100 PathLengthRatioDiff U16 65535 None 7844 −514056540 −516077465 NO *PrDCf
(49) A third sub-equation, sub-equation 2, may combine the output of sub-equation D with the output of sub-equation 1 for a reciprocation (e.g., a current reciprocation) and a previous reciprocation. For example, the following equation may represent sub-equation 2:
Eq2Score=EqDScore*DCf+Eq1ScoreCurrent*CurrEq1Cf+Eq1ScorePrev*PrevEq1Cf,
where DCf, N1Cf, PrevEq1Cf, and Eq2Offset may be selected using least squares analysis (e.g., using MATLAB®). With regard to other variables in sub-equation 2, EqDScore may be described as the output of sub-equation D; Eq1ScoreCurrent may be described as the output of sub-equation 1 for a current reciprocation; and Eq1ScorePrev may be described as the output of sub-equation 1 for the reciprocation previous to the current reciprocation.
(50) With regard to sub-equation 2, the tables (Tables VI and VII) set forth below demonstrate that the inputs may be preprocessed to prevent overflow. Further, the tables set forth below include exemplary limits that may be utilized in sub-equation 2 in accordance with present embodiments. It should be noted that Table VI includes Fast Response Mode constants and Table VII includes Normal Response Mode constants.
(51) TABLE-US-00006 TABLE VI Maximum Maximum Variable Constant Maximum Intermediate Variable Value Variable Value (b) Term Value Sum (Sum of all Term Type (a) Preprocessing (Fast Mode) (a * b) previous rows) Overflow Eq2Offset N/A N/A N/A −2038000 −203800 −203800 NO EqDScore * S32 −501590 The largest output for Sub- 529 −265341110 −265544910 NO DCf equation D may be −513628100 (see Table IV). The input value may be scaled by dividing the value by 1024. Therefore the largest input value may be −501590 Eq1ScorePrev S32 −512683 The largest output for sub- 333 −170723439 −436268349 NO * PrevEq1Cf equation 1 may be −524987898 (see Table II). The input value may be scaled by dividing the value by 1024. Therefore the largest input value may be −512683 Eq1ScoreCurrent * S32 −512683 Same as previous row 617 −316325411 −752593760 NO CurrEq1Cf
(52) TABLE-US-00007 TABLE VII Maximum Maximum Variable Constant Maximum Intermediate Variable Value Variable Value (b) Term Value Sum (Sum of all Term Type (a) Preprocessing (Normal Mode) (a * b) previous rows) Overflow Eq2Offset N/A N/A N/A −194550 −194550 −194550 NO EqDScore * DCf S32 −503981 The largest output for Sub- 532 −268117892 −268312442 NO equation D may be −516077465 (see Table V). The input value may be scaled by dividing the value by 1024. Therefore the largest input value may be −503981 Eq1ScorePrev * S32 −376000 The largest output for sub- 496 −186496000 −454808442 NO PrevEq1Cf equation 1 may be −385024297 (see Table III). The input value may be scaled by dividing the value by 1024. Therefore the largest input value may be −376000 Eq1ScoreCurrent S32 −376000 Same as previous row 406 −152656000 −607464442 NO * CurrEq1Cf
(53) A qualification function may utilize the output of each of the equations discussed above (i.e., sub-equation 1, sub-equation D, and sub-equation 2) to facilitate qualification and/or rejection of a potential reciprocation. For example, the output of the qualification function may be filtered with an IIR filter, and the filtered output of the qualification function may be used to qualify or reject a reciprocation. An equation for an unfiltered qualification function output in accordance with present embodiments is set forth below:
QFUnfiltered=Eq1Score*SingleRecipWt*Eq2Cf+N2Score*MultipleRecipWt*Eq2Cf+NConsecRecip*ConsecCf+RecipMax*MaxCf+Artifact %*ArtCf+QFOffset,
where Eq2Cf, ConsecCf, MaxCf, ArtCf, and QFOffset may be selected using least squares analysis (e.g., using MATLAB®), and, as indicated above, Eq1Score may be defined as the output of sub-equation 1.
(54) Other metrics in the unfiltered qualification function include SingleRecipWt, MultipleRecipWt, NConsecRecip, RecipMax, and Artifact %. With regard to SingleRecipWt and MultipleRecipWt, when there are two or more consecutive qualified reciprocations (e.g., qualified reciprocations that are less than 120 seconds apart) present, SingleRecipWt may equal 0 and MultipleRecipWt may equal 1. However, when only a single reciprocation is present, SingleRecipWt may equal 1 and MultipleRecipWt may equal 0.
(55) NConseRecip, which may be defined as equal to max(NConsecRecip′,QFConsecMax), may include a count of the number of consecutive reciprocations (e.g., reciprocations that are less than or equal to 120 seconds apart) that have passed the hard limit checks. The value for NConsecRecip may be reset to 0 whenever a gap between any two partially qualified reciprocations exceeds 120 seconds. This may be based on the fact that ventilatory instability is a relatively long lasting event as compared to artifact. Therefore, as more reciprocations pass the hard limit checks, the qualification function may begin qualifying reciprocations that were previously considered marginal. However, to guard against a situation where something is causing a longer term artifact event (e.g., interference from nearby equipment), the value may be clipped to a maximum value to limit the metrics influence on the qualification function output.
(56) RecipMax, which may be defined as equal to max(Fall Peak, Rise Peak), may facilitate making decisions about marginal reciprocations. Indeed, marginal reciprocations with higher maximum SpO.sub.2 values may be more likely to get qualified than marginal reciprocations with lower SpO.sub.2 values. It should be noted that this metric works in tandem with the NConsecRecip metric, and multiple marginal reciprocations with lower maximum SpO.sub.2 values may eventually, over a long period of time, get qualified due to the NConsecRecip metric.
(57) The metric Artifact % may be defined as an artifact percentage that is equal to 100*Total Artifact Count/Recip Duration, where Total Artifact Count is the number of times and artifact flag was set during the reciprocation. Present embodiments may include many metrics and equations that are used to set the artifact flag. Because of this it is a generally reliable indication of the amount of artifact present in the oximetry system as a whole. Marginal reciprocations with a high Artifact % are less likely to be qualified than marginal reciprocations with a low (or 0) artifact percentage.
(58) A last component of the qualification function may include an infinite impulse response (IIR) filter that includes coefficients that may be tuned manually using a tool (e.g., a spreadsheet) that models algorithm performance. The filtered qualification function may be represented by the following equation, which includes different constants for different modes (e.g., Fast Response Mode and Normal Response Mode):
QFFiltered=SingleRecipWt*QFUnfiltered+((1−a)*QFUnfiltered+a*PrevQFFiltered)*MultipleRecipWt,
where QFUnfiltered may be defined as the current unfiltered qualification function output; PrevQFFiltered may be defined as the previous filtered qualification function output; and where the constat “a” may be set to 0.34 for Fast Response Mode and 0.5 for Normal Response Mode.
(59) The filtered output of the qualification function may be compared to a threshold to determine if the current reciprocation is the result of RAF or artifact. The optimum threshold may theoretically be 0.5. However, an implemented threshold may be set slightly lower to bias the output of the qualification function towards qualifying more reciprocations, which may result in additional qualification of false positives. The threshold may be lowered because, in accordance with present embodiments, a cluster determination portion of the algorithm, such as may be performed by the CD feature 106, may require a certain number (e.g., 5) of fully qualified reciprocations before an index may be calculated, and a certain number (e.g., at least 2) of consecutive qualified reciprocations (with no intervening disqualified reciprocations) within the set of fully qualified reciprocations. Since multiple reciprocations may be required, the clustering detection method may be biased toward filtering out false positives. Accordingly, the reciprocation qualification function threshold may be lowered to balance the two processes.
(60) The CD feature 106 may be capable of performing an algorithm that maintains an internal reciprocation counter that keeps track of a number of qualified reciprocations that are currently present. When the reciprocation counter is greater than or equal to a certain value, such as 5, the clustering state may be set to “active” and the algorithm may begin calculating and reporting the detection of clusters. When clustering is not active (e.g., reciprocation count <5) the algorithm may not report the clusters.
(61) The CD feature 106 may utilize various rules to determine the reciprocation count. For example, when the clustering state is inactive, the following rules may be observed: 1.) If the distance between qualified reciprocation exceeds 120 seconds, then the reciprocation count=0; 2.) If the current reciprocation is qualified, and the time from the start of the current reciprocation to the end of the last qualified reciprocation is <=120 seconds, then the reciprocation count=reciprocation count+1; 3.) If the current reciprocation is not qualified, then the reciprocation count=max(reciprocation count−2, 0).
Once clustering is active, it may remain active until the time between two qualified reciprocations exceeds 120 seconds. The following table (Table II) illustrates an example of how the reciprocation count rules may be applied to determine a clustering state.
(62) TABLE-US-00008 TABLE VIII Time Since Last Current Qualified Reciprocation Reciprocation Reciprocation Clustering Qualified (seconds) Count State TRUE N/A 1 INACTIVE FALSE 60 0 INACTIVE TRUE N/A 1 INACTIVE FALSE 60 0 INACTIVE TRUE N/A 1 INACTIVE TRUE 30 2 INACTIVE TRUE 120 3 INACTIVE FALSE 60 1 INACTIVE TRUE 10 2 INACTIVE TRUE 20 3 INACTIVE TRUE 40 4 INACTIVE FALSE 30 2 INACTIVE FALSE 60 0 INACTIVE TRUE N/A 1 INACTIVE TRUE 20 2 INACTIVE TRUE 120 3 INACTIVE TRUE 10 4 INACTIVE FALSE 90 2 INACTIVE TRUE 120 3 INACTIVE TRUE 60 4 INACTIVE TRUE 20 5 ACTIVE TRUE 30 6 ACTIVE FALSE 50 6 ACTIVE FALSE 100 6 ACTIVE TRUE 121 1 INACTIVE FALSE 50 0 INACTIVE TRUE N/A 1 INACTIVE TRUE 30 2 INACTIVE TRUE 121 1 INACTIVE TRUE 10 2 INACTIVE TRUE 20 3 INACTIVE TRUE 40 4 INACTIVE TRUE 40 5 ACTIVE
(63) In addition to cluster detection, embodiments may also include an integral alarm limit detection feature 109 that is configured to detect if the SpO.sub.2 signal 34 drops below a lower limit 48. In the embodiment shown in
(64) The use of an absolute limit, however, may result in numerous alarms that are not necessarily informative. Accordingly, methods may be used to determine the severity of the condition and only alert the practitioner if the condition persists. For example, in an embodiment, the integral alarm limit detection feature 109 may calculate an integral 50 from the SpO.sub.2 signal 34 by using a summation of the time the signal 34 may be below the lower limit 48 multiplied by the amount the signal 34 may be below the lower limit 48. Similarly, an upper limit (not shown) may also be used for calculating the integral 50. An integral alarm limit 52 may be selected for alerting a practitioner based on the value of the integral 50. In embodiments, calculation of the integral 50 may be performed by the methods detailed in U.S. Pat. No. 5,865,736 (hereinafter the '736 patent), which is hereby incorporated by reference as if fully set forth herein.
(65) The integral alarm limit detection feature 109 and the CD feature 106 may provide reports or other indications to a user notification feature 108 that may be configured to alert a user if there is one or more of a cluster detection or integral alarm limit violation. Referring back to
CAL=CAS*IAL/100 equation 1.
In this equation, CAL may be the combined alarm limit 54, CAS may be a combined alarm sensitivity set by the user, and IAL may be the integral alarm limit 52 discussed above.
(66)
(67) If no integral alarm condition has been detected in block 62, the method may determine if the combined alarm limit 54 has been reached by the integral 50, as shown in block 66. The combined alarm limit 54 may be calculated using the method discussed with respect to equation 1. Further, the combined alarm limit 54 may be set to zero, which would inform the user of the presence of clusters 46, even if the value for the integral 50 was zero. If the combined alarm limit 54 has been reached, the method 56 may inform a practitioner that clusters 46 are present, as shown in block 68. If the combined alarm limit 54 has not been reached, the method 56 may activate no alerts, as shown in block 70. After either blocks 68 or 70, the method 56 may return to block 58 to collect the next SpO.sub.2 sample in the SpO.sub.2 signal 34.
(68) If a cluster 46 may be not detected in block 60, the method 56 may still determine if the integral 50 has reached the integral alarm limit 52, as shown in block 72. If the integral 50 has not reached the integral alarm limit 52, no alarm may be activated, as shown in block 70. However, if the integral 50 has reached the integral alarm limit 52, the method 56 may inform a practitioner that the integral alarm limit 52 has been reached, as shown in block 74. After activating the alert, the method 56 may return to block 58 to collect the next SpO.sub.2 sample in the SpO.sub.2 signal 34.
(69) The operation of an embodiment of the method 56 discussed with respect to
(70)
(71)
(72)
(73)
(74) While the disclosure is suitable to various modifications and alternative forms, embodiments have been shown by way of example in the drawings and have been described in detail herein. However, it should be understood that the disclosure is not intended to be limited to the particular forms disclosed. Rather, the disclosure is intended to encompass all modifications, equivalents, and alternatives falling within the spirit and scope of this disclosure as defined by the following appended claims.