Calculating Unintentional Leaks (Calling all maths geeks :)
Calculating Unintentional Leaks (Calling all maths geeks :)
I'm trying to do something about SleepyHead's lack of unintentional leak figures for PRS1 users in SleepyHead.
Without knowing specific mask leak formulas, this is a rather complex problem. (for a foggy software developer like me anyway.. )
I have devised an algorithm to generate mask profiles by analysing leak data, but it's not perfect yet.. What I'm looking for is suggestions on how to improve it..
For straight CPAP, this task is not so difficult - simply extracting the minimum (or low percentile) of the total leak figures, and subtracting this from each total leak value gives a reasonable unintentional leaks.. This is based on the simple premise that for some point during the night (or entire mask history if necessary), the CPAP user had no leaks.
APAP/BIPAP is where it gets complicated. My solution involves extending this same concept, by maintaining counts of possible leak values for each pressure value, and calculating the minimum or low (count weighted) percentile of these leaks as the value to subtract from the current leak value.
Eg..
First I update the mask profile's counts by supplying the Pressure and Total Leaks for each session.
Then I scan through the Total Leaks, while simultaneously tracking the pressure for each moment in time..
I look up the min (or weighted percentile) value from the mask profile for that pressure, and subtract this from the total leak value.
Continuing until the end of the Total Leaks, each time writing an entry in the Unintentional Leaks session data.
I have already implemented this in code, and so far and can confirm it does work, however this does not give the same results as Encore's method..
With enough mask history data gathered, I feel this method has the potential to be far more accurate than generic mask profiles. The downside with tracking history, is it requires tracking multiple mask profiles when users go mask hopping, which can be a total pain for users to enter the extra information.
But the algorithm can also be used per session without maintaining history, taking a slight accuracy hit, but negating the need to track mask changes...
Can anyone spot any potential problems/flaws with this algorithm?
Can anyone think of any easier/alternative/better ways to calculate this data?
Without knowing specific mask leak formulas, this is a rather complex problem. (for a foggy software developer like me anyway.. )
I have devised an algorithm to generate mask profiles by analysing leak data, but it's not perfect yet.. What I'm looking for is suggestions on how to improve it..
For straight CPAP, this task is not so difficult - simply extracting the minimum (or low percentile) of the total leak figures, and subtracting this from each total leak value gives a reasonable unintentional leaks.. This is based on the simple premise that for some point during the night (or entire mask history if necessary), the CPAP user had no leaks.
APAP/BIPAP is where it gets complicated. My solution involves extending this same concept, by maintaining counts of possible leak values for each pressure value, and calculating the minimum or low (count weighted) percentile of these leaks as the value to subtract from the current leak value.
Eg..
First I update the mask profile's counts by supplying the Pressure and Total Leaks for each session.
Then I scan through the Total Leaks, while simultaneously tracking the pressure for each moment in time..
I look up the min (or weighted percentile) value from the mask profile for that pressure, and subtract this from the total leak value.
Continuing until the end of the Total Leaks, each time writing an entry in the Unintentional Leaks session data.
I have already implemented this in code, and so far and can confirm it does work, however this does not give the same results as Encore's method..
With enough mask history data gathered, I feel this method has the potential to be far more accurate than generic mask profiles. The downside with tracking history, is it requires tracking multiple mask profiles when users go mask hopping, which can be a total pain for users to enter the extra information.
But the algorithm can also be used per session without maintaining history, taking a slight accuracy hit, but negating the need to track mask changes...
Can anyone spot any potential problems/flaws with this algorithm?
Can anyone think of any easier/alternative/better ways to calculate this data?
_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Screenshot showing my unintentional leaks algorithm in question.
The purple Leak line shows my calculation using the mask profile including previous days history.

The purple Leak line in this one is calculated with the mask profile built with just this sessions data

The purple Leak line shows my calculation using the mask profile including previous days history.

The purple Leak line in this one is calculated with the mask profile built with just this sessions data

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
jedimark,
I just wanted to let you know that I've seen and read your posts in this thread. I'll do some serious thinking about what you're saying and I will get back to you in the next couple of days. We're skiing today and that's more important to me than the math is for today.
I can chime in a couple of things right away though.
1) Using a low percentile seems like a better idea than using the actual min. For me, I often get an artificially low min if the leak is sampled when I'm fiddling with the hose because I sometimes grab the hose right at where the exhaust vent is and partially block it for 10-30 seconds or so.
2) It's been a long time since I've looked at my leak rates in Encore Pro (my Encore Pro admin account is currently locked). But as I recall, it seemed as though the number that was being subtracted off the leak rates did vary from day to day. Maybe I should go ahead and bite the bullet and reinstall Encore Pro to do some more serious poking around on what it seems to be doing with the leak rates.
3) With SH 9.2, I'm not able to see both Total Leak and Leak. It would help me help you if I could see both curves. Unfortunately, I'm not up on compiling stuff from scratch any more.
I just wanted to let you know that I've seen and read your posts in this thread. I'll do some serious thinking about what you're saying and I will get back to you in the next couple of days. We're skiing today and that's more important to me than the math is for today.
I can chime in a couple of things right away though.
1) Using a low percentile seems like a better idea than using the actual min. For me, I often get an artificially low min if the leak is sampled when I'm fiddling with the hose because I sometimes grab the hose right at where the exhaust vent is and partially block it for 10-30 seconds or so.
2) It's been a long time since I've looked at my leak rates in Encore Pro (my Encore Pro admin account is currently locked). But as I recall, it seemed as though the number that was being subtracted off the leak rates did vary from day to day. Maybe I should go ahead and bite the bullet and reinstall Encore Pro to do some more serious poking around on what it seems to be doing with the leak rates.
3) With SH 9.2, I'm not able to see both Total Leak and Leak. It would help me help you if I could see both curves. Unfortunately, I'm not up on compiling stuff from scratch any more.
_________________
Machine: DreamStation BiPAP® Auto Machine |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Additional Comments: PR System DreamStation and Humidifier. Max IPAP = 9, Min EPAP=4, Rise time setting = 3, minPS = 3, maxPS=5 |
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
I remember for sure that when using APAP and switching from Total Leak and Unintentional Leak using Encore Pro that the baseline varied when I sampled multiple nights and subtracted Unintentional Leak from Total leak on the same reported night by toggling back and forth with the choice in Pro to change how the leak was reported. It wasn't a huge difference though. Rarely more than 2.0 L/min difference and mostly around 1.0. I did a 7 night comparison...documented here on the forum a while back.
I never could see any pattern though.
If RobySue doesn't see both Total Leak and Unintentional Leak lines....and neither do I...wonder if it is a BiPap thing? She uses a BiPap and so do I.
I lack the math skills to be able to help much with figuring out which way to figure the baseline...even if I could get both the Total Leak and Unintentional Leak numbers. Science was my strong point and not math at this level of complexity.
I never could see any pattern though.
If RobySue doesn't see both Total Leak and Unintentional Leak lines....and neither do I...wonder if it is a BiPap thing? She uses a BiPap and so do I.
I lack the math skills to be able to help much with figuring out which way to figure the baseline...even if I could get both the Total Leak and Unintentional Leak numbers. Science was my strong point and not math at this level of complexity.
_________________
Machine: AirCurve™ 10 VAuto BiLevel Machine with HumidAir™ Heated Humidifier |
Additional Comments: Mask Bleep Eclipse https://bleepsleep.com/the-eclipse/ |
I may have to RISE but I refuse to SHINE.
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
I'm trying to be annoying. With that preface over with, various cases of fun that can affect leak data, but are not necessarily detectable using just the machine's data:jedimark wrote:But the algorithm can also be used per session without maintaining history, taking a slight accuracy hit, but negating the need to track mask changes...
Can anyone spot any potential problems/flaws with this algorithm?
Can anyone think of any easier/alternative/better ways to calculate this data?
- Similar to the aforementioned case of grabbing the vent for a brief, partial blockage, I tend to start my machine by completely blocking the vent in order to trigger auto start
- Part of the way through the night, the vent gets blocked for a significant (i.e. non-outlier) duration by a pillow
- A small leak that only occurs when exhaling
- Mask switch in the middle of the night, without a session termination
- Mask that fits in a non-leaky manner at the usual end of an APAP's configured range consistently has a significant leak when the pressure increases
- Mask itself has a positional leak
- Popping the hose off, and shoving it into the blankets to silence it while grabbing some water
The problem with this is that it is possible for the approximated intentional leak to be based solely off of values with significant unintentional leak or significant unintentional non-leak.
_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear |
Additional Comments: Software: SleepyHead, loosely following HEAD |
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Since updating to latest version of Sleephead I too no longer see both leak lines on the graph - my is APAP.
_________________
Machine: DreamStation Auto CPAP Machine |
Mask: Mirage Quattro™ Full Face CPAP Mask with Headgear |
Humidifier: DreamStation Heated Humidifier |
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Next update these calcs will be back for experimentation, according to the algorithm mentioned above. In 9.2-1 I fixed a bug that showed Unintentional Leaks for APAP data. (all that did was subtract the 10th percentile of all leak data for the day.. very wrong for APAP and greater users.. fine for CPAP)robysue wrote:jedimark,
I just wanted to let you know that I've seen and read your posts in this thread. I'll do some serious thinking about what you're saying and I will get back to you in the next couple of days. We're skiing today and that's more important to me than the math is for today.
I can chime in a couple of things right away though.
1) Using a low percentile seems like a better idea than using the actual min. For me, I often get an artificially low min if the leak is sampled when I'm fiddling with the hose because I sometimes grab the hose right at where the exhaust vent is and partially block it for 10-30 seconds or so.
2) It's been a long time since I've looked at my leak rates in Encore Pro (my Encore Pro admin account is currently locked). But as I recall, it seemed as though the number that was being subtracted off the leak rates did vary from day to day. Maybe I should go ahead and bite the bullet and reinstall Encore Pro to do some more serious poking around on what it seems to be doing with the leak rates.
3) With SH 9.2, I'm not able to see both Total Leak and Leak. It would help me help you if I could see both curves. Unfortunately, I'm not up on compiling stuff from scratch any more.
If Encore uses static mask profile formulas, it won't cater for mask manufacturing variances, so I don't think there would be much point in trying to replicate it.
Now I've added the ability to recalculate stuff without forcing re-import, it's a lot easier to play with and improve this stuff as we go..
I wish I thought of adding the recalc stuff a few months ago.. That's what happens when you let foggy developers write code :-}
I'll make the leak calculations only maintain profile history and do recalculations for dates after the Mask Date set in preferences.. This way, if you start using a new mask, old data that has been calculated with previously higher accuracy profiles won't be affected. (Any dates before this where there is no unintentional leak data will be calculated just using it's own sessions mask profile)
_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Wow, after all the incredible hard work & time you’ve spent developing this, I really HATE to do this, but…this task is not so difficult - simply extracting the minimum (or low percentile) of the total leak figures, and subtracting this from each total leak value gives a reasonable unintentional leaks.. This is based on the simple premise that for some point during the night (or entire mask history if necessary), the CPAP user had no leaks.
Using an assumption of the lowest (witnessed) leak value as a baseline from which to derive the calculations seems like a logical point from which to start. However, you will probably get some protests about the assumption of anything, including any significant time at zero unintentional leak. (But I actually think that’s an acceptable way to do it.)
The kicker is that I do something that some others may also do: I purposely PLUG the exhaust port with my finger for a several seconds to check for the sound of leaks coming from anywhere else. And as mentioned before, the port on someone’s mask may get partially blocked off by their pillow (or otherwise) during the night, and this would also cause a false (low) baseline to be established per the methodology that you are proposing.
Sorry – but please don’t shoot the messenger! Or (hopefully) maybe I don’t fully understand the problem, and what I’ve said will be irrelevant. I've been up for 18+ hours and my brain is rather addled at the moment, so I'll use that as my excuse if I've missed anything. Excuses, excuses...
_________________
Machine: ResMed AirCurve 10 ASV Machine with Heated Humidifier |
Mask: AirFit™ P10 Nasal Pillow CPAP Mask with Headgear |
“Ignorance” is not pejorative; it is simply a lack of information. “Stupidity” is an inability to utilize available information.
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
In my actual implementation use a low weighted percentile... (set anywhere from 10% to median works well) I mentioned the minimum mainly to get the idea across, as it's easier to visualize.. If your at the true minimum for that long during the night from ports being blocked, your probably gonna come down with a serious case of death from asphyxiation.ignorant1 wrote:Wow, after all the incredible hard work & time you’ve spent developing this, I really HATE to do this, but…this task is not so difficult - simply extracting the minimum (or low percentile) of the total leak figures, and subtracting this from each total leak value gives a reasonable unintentional leaks.. This is based on the simple premise that for some point during the night (or entire mask history if necessary), the CPAP user had no leaks.
Using an assumption of the lowest (witnessed) leak value as a baseline from which to derive the calculations seems like a logical point from which to start. However, you will probably get some protests about the assumption of anything, including any significant time at zero unintentional leak. (But I actually think that’s an acceptable way to do it.)
The kicker is that I do something that some others may also do: I purposely PLUG the exhaust port with my finger for a several seconds to check for the sound of leaks coming from anywhere else. And as mentioned before, the port on someone’s mask may get partially blocked off by their pillow (or otherwise) during the night, and this would also cause a false (low) baseline to be established per the methodology that you are proposing.
Sorry – but please don’t shoot the messenger! Or (hopefully) maybe I don’t fully understand the problem, and what I’ve said will be irrelevant. I've been up for 18+ hours and my brain is rather addled at the moment, so I'll use that as my excuse if I've missed anything. Excuses, excuses...
This morning, I was invited to a local pharmacy who deals in CPAP gear to have a chat with the Philips Respironics rep who was visiting. Mostly we talked about my personal case, but she was totally awesome. I got to ask some questions, and also got a chance to show off SleepyHead.
I asked her how Encore calculates unintentional leaks.. She said it's calculated using set values for each pressure, regardless of mask type.. (Yay.. No voodoo magic involved!)
I think this mask profiling idea is a winner if handled right.. This way it can adapt to your mask type, and provide more accurate results..
_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Thanks for that Tetragon.tetragon wrote:I'm trying to be annoying. With that preface over with, various cases of fun that can affect leak data, but are not necessarily detectable using just the machine's data:jedimark wrote:But the algorithm can also be used per session without maintaining history, taking a slight accuracy hit, but negating the need to track mask changes...
Can anyone spot any potential problems/flaws with this algorithm?
Can anyone think of any easier/alternative/better ways to calculate this data?
While basic outlier detection could eliminate an artificially low leak due to starting the machine as I do, when the blocked-vent values become inliers thanks to floomping face-first into a pillow (yay, onomatopoeia (I can't believe I spelt that word correctly in the first try)), the truly normal values would show up as unintentional leaks. If we assume that there will never be a blocked-vent inlier, then, using the minima of the inliers, it may be possible to approximate an intentional leak threshold, to be handled as an upper bound on the true value, for a given pressure for the profiled masks.
- Similar to the aforementioned case of grabbing the vent for a brief, partial blockage, I tend to start my machine by completely blocking the vent in order to trigger auto start
- Part of the way through the night, the vent gets blocked for a significant (i.e. non-outlier) duration by a pillow
- A small leak that only occurs when exhaling
- Mask switch in the middle of the night, without a session termination
- Mask that fits in a non-leaky manner at the usual end of an APAP's configured range consistently has a significant leak when the pressure increases
- Mask itself has a positional leak
- Popping the hose off, and shoving it into the blankets to silence it while grabbing some water
The problem with this is that it is possible for the approximated intentional leak to be based solely off of values with significant unintentional leak or significant unintentional non-leak.
Depending on how much your vent is blocked, you could simply wake up dead.. I doubt you'd spend an hour straight on your face without your body going into wake-up or panic mode.. Anywhere from 20-40th percentile or so is still going to ignore most of these..
Mask switch in the middle of the night will screw up Encore's accuracy too.
The APAP pressures ramping up will definitely be an issue.. My swift-fx starts to leak a lot more over 17.. (not that my PRS1 gets that high)... Maybe some kind of smoothing algorithm to pull the higher values back closer to a linear slope, so make the higher leaks show up more?
Positional leaks are probably the main cause of leaks, which I still don't see getting mucked up, especially by analysis over entire mask history.
Even for popping the hose off, I doubt anyone would leave the machine running for that long where it would mess the outliers up..?
In short, due to Encore handling this even more dodgy than what I'm describing here... this might just work
_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
I think the intentional leak (L) rate should be a relatively simple smooth function of the pressure (x), so what you want to do is estimate that function.
I have no idea what the form of that function is, but for argument's sake, assume it's a simple quadratic: L = ax^2 + bx. (Surely there's no constant term.) Estimating just two parameters (a and b) would be easier than estimating different values for every pressure.
I imagine the same kind of function would work for all mask types: there are one or more vent holes that leak air as the pressure increases.
If no one knows the appropriate function, you can probably guesstimate it from a scatterplot of leak versus pressure from an APAP session.
Could you post such a scatterplot? Also, if you could post a simple data file with two data columns (leak and pressure) then we could play around with possible algorithms.
Perhaps repeat the above for a different mask type.
I have no idea what the form of that function is, but for argument's sake, assume it's a simple quadratic: L = ax^2 + bx. (Surely there's no constant term.) Estimating just two parameters (a and b) would be easier than estimating different values for every pressure.
I imagine the same kind of function would work for all mask types: there are one or more vent holes that leak air as the pressure increases.
If no one knows the appropriate function, you can probably guesstimate it from a scatterplot of leak versus pressure from an APAP session.
Could you post such a scatterplot? Also, if you could post a simple data file with two data columns (leak and pressure) then we could play around with possible algorithms.
Perhaps repeat the above for a different mask type.
_________________
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: Pressure is 11-14. Old CPAP was a Resmed S6 Lightweight. Also have Profile lite mask. ResScan is actually version 3.14. Now I use Sleepyhead. |
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
I'll see if I can extract some CSV data for spreadsheet analysis and post it online..JointPain wrote:I think the intentional leak (L) rate should be a relatively simple smooth function of the pressure (x), so what you want to do is estimate that function.
I have no idea what the form of that function is, but for argument's sake, assume it's a simple quadratic: L = ax^2 + bx. (Surely there's no constant term.) Estimating just two parameters (a and b) would be easier than estimating different values for every pressure.
I imagine the same kind of function would work for all mask types: there are one or more vent holes that leak air as the pressure increases.
If no one knows the appropriate function, you can probably guesstimate it from a scatterplot of leak versus pressure from an APAP session.
Could you post such a scatterplot? Also, if you could post a simple data file with two data columns (leak and pressure) then we could play around with possible algorithms.
Perhaps repeat the above for a different mask type.
What your describing is effectively what I'm trying to accomplish in code.. Stripping the outliers from the pressure/leak scatter plot and estimating a slope/curve function from the resulting data...
At this stage I'm cheating, and skipping the last bit, and just using the estimated leak values derived for each pressure.
My maths skills aren't that great, so I very much appreciate any help I can get on this one. :-}
_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
How about letting SleepyHead collect the data with a little help from the users?
Take a night's data. By looking at the total leak data, it's usually pretty obvious what the intentional leak rate is. It's the flat bottom. Give the user some way to click on the parts of the leak line that represent no unintentional leaks. Generate a table of pressure/leak rates for the user's mask.
With a little extra work, you could probably even generate it automagically. Take a 10th percentile at each pressure over a number of nights.
You could get some users to test their masks at various pressures and report back to a central repository. You could end up with a table for all the common mask types.
Take a night's data. By looking at the total leak data, it's usually pretty obvious what the intentional leak rate is. It's the flat bottom. Give the user some way to click on the parts of the leak line that represent no unintentional leaks. Generate a table of pressure/leak rates for the user's mask.
With a little extra work, you could probably even generate it automagically. Take a 10th percentile at each pressure over a number of nights.
You could get some users to test their masks at various pressures and report back to a central repository. You could end up with a table for all the common mask types.
_________________
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: Also SleepyHead, PRS1 Auto, Respironics Auto M series, Legacy Auto, and Legacy Plus |
Please enter your equipment in your profile so we can help you.
Click here for information on the most common alternative to CPAP.
If it's midnight and a DME tells you it's dark outside, go and check for yourself.
Useful Links.
Click here for information on the most common alternative to CPAP.
If it's midnight and a DME tells you it's dark outside, go and check for yourself.
Useful Links.
- roc@different_puter
- Posts: 18
- Joined: Sun Jan 08, 2012 6:36 am
- Location: The War Room
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Hi jedimark!
Love that avatar.
Man, there is nothing on this musical planet than can produce so much musical power with so little talent needed as the electric guitar.
(And if you've got true talent?)
.............................................A..............................B ~~~~~~~ ~~~~~~
E |--------------------------------------|----------------------------|-------------15-------------15-------12--|
B |----------------8bb------------8\(0)|----------12B---------12B-|-------------------------------------------|
G |-----------7-------------7----------|-------9--------------9-----|--------12----------------12--------------|
D |-----/9-------------/9-------------|-/11------------/11--------|---/14---------------/14-----------------|
A |------------------------------------|------------------------------|-------------------------------------------|
E |------------------------------------|------------------------------|-------------------------------------------|
............D ~~~~~~ ~~~~~~.............................. E7#9
E |------------------------------------------------------|------------------------------------------------------|
B |---------------15----------15--15-----15-----15-------|------------------------------------------------------|
G |------14B---------14b----------14B----14B----14B------|--16--16-h-18-18-h-18-p-16--16\14----14h16p14---14\13-|
D |------------------------------------------------------|------------------------------------------------------|
A |------------------------------------------------------|------------------------------------------------------|
E |------------------------------------------------------|------------------------------------------------------|
................F#5.........D5.............................E7#9 ~~~~~~~~~~~~~
E |------------------------------------------------------|------------------------------------------------------|
B |------------------------X-----------------------------|------------------------------------------------------|
G |---13/14------14B---X----------12---14--12--------|----12---------------11/12\11--11------------|
D |-----------------------------14---------------14----|---------------------------------------14-----12------|
A |------------------------------------------------------|------------------------------------------------------|
E |------------------------------------------------------|------------------------------------------------------|
.
____________________________________________________________________________________
.
(That's what does it for me, feel free to paste your own favorite.)
.
____________________________________________________________________________________
.
Re: Calculating Unintentional Leaks
Looks like you've put in some real effort into a worthy cause, I certainly don't have your math skills.
My only suggestion is don't spend a lot of time polishing it.
I could be wrong, but I think you'll want to start thinking now about Day Two solutions:
Day One: Your perfected algorithm shows an unacceptable leak.
Day Two: Now what?
Drives me crazy.
.
Love that avatar.
Man, there is nothing on this musical planet than can produce so much musical power with so little talent needed as the electric guitar.
(And if you've got true talent?)
.............................................A..............................B ~~~~~~~ ~~~~~~
E |--------------------------------------|----------------------------|-------------15-------------15-------12--|
B |----------------8bb------------8\(0)|----------12B---------12B-|-------------------------------------------|
G |-----------7-------------7----------|-------9--------------9-----|--------12----------------12--------------|
D |-----/9-------------/9-------------|-/11------------/11--------|---/14---------------/14-----------------|
A |------------------------------------|------------------------------|-------------------------------------------|
E |------------------------------------|------------------------------|-------------------------------------------|
............D ~~~~~~ ~~~~~~.............................. E7#9
E |------------------------------------------------------|------------------------------------------------------|
B |---------------15----------15--15-----15-----15-------|------------------------------------------------------|
G |------14B---------14b----------14B----14B----14B------|--16--16-h-18-18-h-18-p-16--16\14----14h16p14---14\13-|
D |------------------------------------------------------|------------------------------------------------------|
A |------------------------------------------------------|------------------------------------------------------|
E |------------------------------------------------------|------------------------------------------------------|
................F#5.........D5.............................E7#9 ~~~~~~~~~~~~~
E |------------------------------------------------------|------------------------------------------------------|
B |------------------------X-----------------------------|------------------------------------------------------|
G |---13/14------14B---X----------12---14--12--------|----12---------------11/12\11--11------------|
D |-----------------------------14---------------14----|---------------------------------------14-----12------|
A |------------------------------------------------------|------------------------------------------------------|
E |------------------------------------------------------|------------------------------------------------------|
.
____________________________________________________________________________________
.
(That's what does it for me, feel free to paste your own favorite.)
.
____________________________________________________________________________________
.
Re: Calculating Unintentional Leaks
Looks like you've put in some real effort into a worthy cause, I certainly don't have your math skills.
My only suggestion is don't spend a lot of time polishing it.
I could be wrong, but I think you'll want to start thinking now about Day Two solutions:
Day One: Your perfected algorithm shows an unacceptable leak.
Day Two: Now what?
Drives me crazy.
.
Re: Calculating Unintentional Leaks (Calling all maths geeks :)
Lol.. I'll take that advice to heart..roc@different_puter wrote:Hi jedimark!
Love that avatar.
Man, there is nothing on this musical planet than can produce so much musical power with so little talent needed as the electric guitar.
(And if you've got true talent?)
.............................................A..............................B ~~~~~~~ ~~~~~~
E |--------------------------------------|----------------------------|-------------15-------------15-------12--|
B |----------------8bb------------8\(0)|----------12B---------12B-|-------------------------------------------|
G |-----------7-------------7----------|-------9--------------9-----|--------12----------------12--------------|
D |-----/9-------------/9-------------|-/11------------/11--------|---/14---------------/14-----------------|
A |------------------------------------|------------------------------|-------------------------------------------|
E |------------------------------------|------------------------------|-------------------------------------------|
............D ~~~~~~ ~~~~~~.............................. E7#9
E |------------------------------------------------------|------------------------------------------------------|
B |---------------15----------15--15-----15-----15-------|------------------------------------------------------|
G |------14B---------14b----------14B----14B----14B------|--16--16-h-18-18-h-18-p-16--16\14----14h16p14---14\13-|
D |------------------------------------------------------|------------------------------------------------------|
A |------------------------------------------------------|------------------------------------------------------|
E |------------------------------------------------------|------------------------------------------------------|
................F#5.........D5.............................E7#9 ~~~~~~~~~~~~~
E |------------------------------------------------------|------------------------------------------------------|
B |------------------------X-----------------------------|------------------------------------------------------|
G |---13/14------14B---X----------12---14--12--------|----12---------------11/12\11--11------------|
D |-----------------------------14---------------14----|---------------------------------------14-----12------|
A |------------------------------------------------------|------------------------------------------------------|
E |------------------------------------------------------|------------------------------------------------------|
.
____________________________________________________________________________________
.
(That's what does it for me, feel free to paste your own favorite.)
.
____________________________________________________________________________________
.
Re: Calculating Unintentional Leaks
Looks like you've put in some real effort into a worthy cause, I certainly don't have your math skills.
My only suggestion is don't spend a lot of time polishing it.
I could be wrong, but I think you'll want to start thinking now about Day Two solutions:
Day One: Your perfected algorithm shows an unacceptable leak.
Day Two: Now what?
Drives me crazy.
.
That's my current favourite axe, an Ibanez SA220FM. The picture is rather symbolic, as like my guitar, both me and my little software project are rather unpolished..
At the time, I traded a (Mexican) Strat I just bought for it, because I didn't like it's top end buzzing.. Played every damn guitar in the store until I picked that one up, and it chose me.
I also have a J&D Luthier 7 string, an old Magnum custom series electric I literally wore the frets out on, and an Ibanez nothing special bass. Plus an acoustic I should pick up more.
They are all currently being neglected while I tinker with software and put up with being a foggy sleep deprived mess.
I am at least spending a little more time on the ivories (wishful thinking.. 88key cheap electric.) without it I think I'd need a straight-jacket.
I can't read a single note - despite my best efforts, musical notation (apart from guitar tab) remains completely foreign to me. I gotta hear something to be able to play it..
_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier |
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear |
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control |
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :) |
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code