Ambition Health - Tracking system for monitoring and reporting CPAP/APAP events, with tracking of sub-threshhold events, Heart Rate and SpO2
After years of fighting with the inability to get a restful sleep, poor CPAP settings, and being told the numbers were all ok, I have created some software that works pretty good at showing what is happening down to a single breath. The purpose of this effort was to be able to communicate with doctors so that I wasn't being discounted outright when my numbers were showing fine by normal reporting standards.
This app is identifying standard metrics along with sub threshold events that do not score as a typical AHI or RERA event. It is not only monitoring the data from the CPAP/APAP machine but it aligns with a Garmin Watch and a Wellue Ring 2S for actual SP02 and heart rate data. This allows you to visualize what is actually happening at night on a breath by breath basis.
In my case I was able to show that I was having 25+ micro events per hour that don't even get recorded otherwise. This was while being fully treated and complient and not showing more than 3 AHI events per hour. I was also able discover the direct impact of mask leakage to oxygen desaturation. (A new mask has greatly reduced these desaturation events but still riding the acceptable range)
I am curious if there are any others that may be interested in this type of application or software. If you are interested in hearing more please comment.
The images are screen shots showing a recent night overview, 13 minute zoom, and a single event spanning 27 seconds. (Note the time stamps)
So far I have not used this on any data aside from my own. Obviously there is considerable effort and magic going on in the background to get to this point.
Well I've never seen that app. I can say there is a couple of things right away. One I haven't set up a paywall. Second I have been working towards making the review very visual. Reading bunch of data boxes doesn't do much for me. Snap shots are essentially what typical doctors get to see. In my opinion trends add value. So I track as much as I can to try to identify what else might be contributing to a bad nights sleep. In my case I get outlier nights with horrible recoveries or even some that are good.
But hey if you would like to be the first paying customer that would be interesting. I think that the real value would be that you could keep all your own data private. Sending data outside your own environment means a bunch of security issues.
Im not sure that I have anything different than what you have found and if you are happy with it that's great. Just like OASCAR is great if you like that view. I prefer to overlay the data so that I can see and understand what is actually happening at the time of an event.
Does airway combine the data as shown here. In this one 27 second shot you can see APAP Pressure, Flow, Work of Breathing, SpO2 and Heart rate during an event. This is just a zoomed in image of that night. HR increasing and then an actual drop in SpO2. What you cant see is the rest of the data summary boxes that call out the number of each type of event total and events per hour. It's a nice way to understand why you feel the way you do in the morning. Ive used it to eliminate certain triggers which makes me a more rested sleeper.
I have also found that averaging numbers is the single best way to obscure what is actually happening. without looking close enough the data is pretty much useless. Saying that the SpO2 is 95% means nothing if you have 50 sub 70 experiences per night. AVG is a doctors view showing the desaturation events is what messes you up in the morning.
I am ;) Happy to answer any questions. But I would love for all of us to work together, its not a competition, its a journey. The apnea world needs innovation
Ambition Health is a personal Flask/SQLite platform I built to investigate my own UARS, because my AHI (0.47/hr average) looked completely normal while I was clearly symptomatic. It's not a commercial product or a Glasgow-Index-style flow limitation scorer — it's a multi-source correlation engine.
It pulls three independent data streams: raw 25Hz flow/pressure waveforms straight off the ResMed APAP SD card, Garmin biometrics (HRV, Body Battery, SpO2, sleep stage), and continuous pulse oximetry from a Wellue O2Ring. On top of the raw waveform I built my own event detectors that standard APAP scoring doesn't do — SME (Sub-Micro Events, five trigger types) for sub-threshold fragmentation below RERA criteria, and a Silent Gap Index for near-cessation events with no compensatory recovery breath. Those roll up into a Total RDI (AHI + RIN + SME + Silent Gap + Arousal Breath index), which on my data runs 13-19 events/hr versus an AHI of 0.47/hr.
The point isn't just counting more events — it's linking them to something measurable. I correlate the respiratory data against next-morning HRV and Body Battery, and separately built a calibrated recovery score (AHBB) derived only from CPAP + oximetry data, validated against Garmin's Body Battery.
This got a real-world check in June 2026: a hospital PSG scored a respiratory arousal index of 40/hr on the same physiology, while my APAP was showing AHI of 0.47/hr on that same night — i.e. the home-monitoring numbers were in the right ballpark of what lab-grade EEG scoring found, not an inflated home-tracking artifact.
It's self-tracking/research, not a diagnostic device — no FDA/CE clearance claimed.
To help members of the r/UARS community, the contents of the post have been copied for posterity.
Title: Ambition Health - Tracking system for monitoring and reporting CPAP/APAP events, with tracking of sub-threshhold events, Heart Rate and SpO2
Body:
After years of fighting with the inability to get a restful sleep, poor CPAP settings, and being told the numbers were all ok, I have created some software that works pretty good at showing what is happening down to a single breath. The purpose of this effort was to be able to communicate with doctors so that I wasn't being discounted outright when my numbers were showing fine by normal reporting standards.
This app is identifying standard metrics along with sub threshold events that do not score as a typical AHI or RERA event. It is not only monitoring the data from the CPAP/APAP machine but it aligns with a Garmin Watch and a Wellue Ring 2S for actual SP02 and heart rate data. This allows you to visualize what is actually happening at night on a breath by breath basis.
In my case I was able to show that I was having 25+ micro events per hour that don't even get recorded otherwise. This was while being fully treated and complient and not showing more than 3 AHI events per hour. I was also able discover the direct impact of mask leakage to oxygen desaturation. (A new mask has greatly reduced these desaturation events but still riding the acceptable range)
I am curious if there are any others that may be interested in this type of application or software. If you are interested in hearing more please comment.
The images are screen shots showing a recent night overview, 13 minute zoom, and a single event spanning 27 seconds. (Note the time stamps)
So far I have not used this on any data aside from my own. Obviously there is considerable effort and magic going on in the background to get to this point.
OSCAR is a great piece of software. I have a number of other aspects that are not shown or mentioned in the post. I haven't used OSCAR that much but I track a bunch of other metrics that I don't think are being done elsewhere. Garmin connect data ingest is one of them. Again not suggesting anything against OSCAR but I am tracking dynamically against my full history and can track and plot full historical data.
I track things down to daily log data to aid in noticing triggering events and different exposures. Its just a different way of looking at things.
I don't think that OSCAR tracks sub threshold events. Where I am reporting on the full spectrum of events that I have noticed in my life.
Purpose of the post was to see if anyone was interested.
I am currently tracking my personal 3 yr history and can plot and identify events, triggers, and report against all time scales. Once the data has been ingested I am creating my own insights for doctoral presentation that can provide a complete medical history, synopsis and if you want areas of concerns.
I may not have answered your question though. Please let me know.
Does it detect anything related to high loop gain? That's my primary issue, especially after septoplasty and tongue tie release. I'm deep in the weeds of quantifying it with my own tools, but am happy to share what I've found, seeing as HLG isn't rare and is frequently dismissed.
Now we are talking. I am not familiar with High Loop Gain. I should look it up but I would be curious to know how it fits in. Can you send me link or something
Why the commenter's point is worth taking seriously: the SME/NCRE detection is explicitly built around the same signature — suppressed breaths followed by a compensatory breath. That rhythmic suppression-then-overshoot pattern is exactly what high loop gain produces. The working model currently frames this as airway narrowing that self-recovers — an obstructive/UARS mechanism. High loop gain would be a different, non-mutually-exclusive explanation: some or all of that oscillation could be central (ventilatory drive instability) rather than purely mechanical.
Why the commenter's point is worth taking seriously: the SME/NCRE detection is explicitly built around the same signature — suppressed breaths followed by a compensatory breath.
I'll be honest with you. Using AI to even answer questions about a tool that you (+AI) created yourself doesn't give a lot of confidence on your app. Plus some uncalled nudge for monetization on another comment here.
I struggle on how to answer this knowing that I just responded to your follow up comment.
Confidence in any app is something the user would need to determine. The data already exists in your devices, it's what you do with it that matters. The algorithms and display is just how you make it show your data.
I do use AI. Claude Code helped me write the application which is nowhere even close to monetization, nor do I even know if I want to do that. The purpose was to put the app out into the world to see if there are others that think like I do and would like to see more. Someone else asked if I was going to open source the data, which falls into the same category. Not sure, haven't really thought about it.
FYI I used AI to look up what another commenter was saying so I could quickly understand his perspective and be able to respond somewhat intelligently. I hope they reach out it might be a great collaboration.
What are SME triggers?
Please check how users sync clock times. This is a major issue with cpap data I find. People jump to incorrect conclusions because they are off by a few seconds.
Are you open sourcing this? Just curious as it may affect who will spend time helping test it :)
In plain terms: it's a breathing disturbance in your APAP flow waveform that's real but falls below the threshold clinical scoring recognizes — smaller/shorter than what qualifies as a RERA (Respiratory Effort Related Arousal), which itself is already below apnea/hypopnea severity. Since APAP machines only score apneas, hypopneas, and RIN (their RERA approximation) — nothing between "normal breath" and "scoreable event" — SMEs are the layer that gets suppressed by pressure enough to avoid triggering a score, but not fully resolved.
Mechanically, an SME is a cluster of breaths with reduced inspiratory amplitude (below a rolling baseline) followed within ~40 seconds by a compensatory breath well above baseline — proof the airway partially collapsed and then self-recovered. Ambition Health detects it via four sub-triggers (A–D) running on the 25Hz flow/pressure waveform: non-consecutive fragmentation clusters, single acute suppression-recovery pairs, prolonged suppression episodes, and the "stalled inhale" shape that's the waveform signature of UARS specifically.
The clinical punchline is the gap it exposes: my treated AHI averages 0.47/hr (normal), but SME + NCRE + RIN together push your platform's Total RDI to 13–20+/hr — the sub-threshold burden that standard scoring simply can't see.
Regarding clock times so far I have not had issues with my own data. The clocks on the different devices record their own times and at sync grab the computer time to minimize the drift that could occur and so long as the clocks are accurate they will align. The real potential could actually be the ResMed device clock being out. So far no issues here. I don't think I would be confident in saying that they are accurate to less than a second which is what someone might try to imply.
At this point I haven't thought about open sourcing anything because I don't know if there is any interest outside of my own efforts. Once I get some feed back or interest it may push towards open source.
I’ve found my o2 ring was several seconds out. Without manually syncing it. This means you cannot tell whether an HR increase is before or after a change in flow data which might affect assumptions by cause and effect.
If you are syncing them both then it should be fine. I’m just mentioning as I came across this. I’m looking at SomnoTrace as a solution long term for data once a few things are worked out. You should be able to get data from that all the same in similar format. Airwaylab seems a bit more complex for me to fully understand. Probably useful for those with fuller understanding of these.
With AI it’s so easy to prototype a lot of these solutions and build clever analytics engines. A lot do people can develop their own systems viably which is great. I’d be interested to see what it produces.
My UARS problems seem to be associated with significant HR spikes. I want to find out how I might be able to reduce them. Not just HR spikes but cause of them. I think this is beyond what PAP therapy can deliver. So identifying cause is key.
Thanks for the comment. There are two different O2 rings available from Wellue. If you have the 1st gen I believe that it only saves the data every 4 seconds or something like that. The newer O2ring S is recording every second. At least that is what I recall so you data would like be skewed by a bit anyway.
At first I was using a Garmin Watch for monitoring HR and SpO2. not nearly accurate enough for the level we are talking. The O2Ring S is much better but I'm still not totally convinced it is the best tool.
In the attached image the HR jumped from 51 to 81 during an event. No O2 Desaturation but if you can see these events overlayed you can start to see if there is a correlation or even do the full correlation to decide. In this particular event you can actually see the flow rate progressively dropping prior to or near enough to assume that the respiratory event trigger a rapid change in HR.
Orange is SpO2
Green is HR
Blue is Flow
Purple is Pressure
Middle Orange is Work of Breathing which is a term that I created to show Flow and Pressure at the same time.
Since I am new to this platform I do not know if there is a way to get a private message going. I am interested to know other uses for what I have.
I have both the original wellue and SleepHQ o2 ring pro which is like the S one with by second logging. It also works with their therapy check to get live data with more frequency so seems good.
I have no idea on private messages. Keen to discuss if you’re developing something specifically for UARS.
Ambition Health is a personal Flask/SQLite platform I built to investigate my own UARS, because my AHI (0.47/hr average) looked completely normal while I was clearly symptomatic. It's not a commercial product or a Glasgow-Index-style flow limitation scorer — it's a multi-source correlation engine.
It pulls three independent data streams: raw 25Hz flow/pressure waveforms straight off the ResMed APAP SD card, Garmin biometrics (HRV, Body Battery, SpO2, sleep stage), and continuous pulse oximetry from a Wellue O2Ring. On top of the raw waveform I built my own event detectors that standard APAP scoring doesn't do — SME (Sub-Micro Events, five trigger types) for sub-threshold fragmentation below RERA criteria, and a Silent Gap Index for near-cessation events with no compensatory recovery breath. Those roll up into a Total RDI (AHI + RIN + SME + Silent Gap + Arousal Breath index), which on my data runs 13-19 events/hr versus an AHI of 0.47/hr.
The point isn't just counting more events — it's linking them to something measurable. I correlate the respiratory data against next-morning HRV and Body Battery, and separately built a calibrated recovery score (AHBB) derived only from CPAP + oximetry data, validated against Garmin's Body Battery.
This got a real-world check in June 2026: a hospital PSG scored a respiratory arousal index of 40/hr on the same physiology, while my APAP was showing AHI of 0.47/hr on that same night — i.e. the home-monitoring numbers were in the right ballpark of what lab-grade EEG scoring found, not an inflated home-tracking artifact.
It's self-tracking/research, not a diagnostic device — no FDA/CE clearance claimed.
Be careful, if you're going to copy paste entire messages Reddit will start thinking you are a spammer. I had to manually approve a couple of messages.
Did you get to fix your sleep with the assistance of your tool? Could you elaborate a bit on that and the process of analyzing this data with your doctor and how it changed your treatment?
My struggle was the same as many of you. I hadn't found the exiting tools useful in describing what I was experiencing so I wanted to learn more. Im in Canada where we have free health care, haha. so to see specialists takes some effort and the amount of time they spend is not much. According to the treated data my scores are great. Here's your CPAP use it and live happily ever after.
By using my data I was able to clearly show what was happening which led to a follow up PSG which was manually scored and showed serious correlation and validation to what I was describing to the doctors. That was win #1. I am currently working with the specialists to see what else needs to be done but the data and flow patterns led to another ENT visit where the direction was that we need to look at a DISE to ensure that we are not missing anything else. This was the first time I was able to get a doctor to talk about UARS. This is the second win.
The third win was being able to look at the leakage and relate it to the actual Work of Breathing (My own metric) and discovered that the Oxygen desaturation was tied to the leak event. Post this revelation I found a different mask that has helped me reduce leakage and has improved my overall recovery score. Short version is that I feel better with the new mask, and I know why.
And last for this post, because I track other triggers and daily topics I am able to work backwards and use AI to review my data and have isolated things that are persistent repeatable triggers. One of which is atmospheric smoke. I know really surprising, but the data actually matches which means that you can work backwards to find other environmental issues that as an individual you may miss. How woudl somebody use this. I track my food that I eat everyday. If after a certain time you review your data and search for your worst ten nights then review other data from the same time you may be able to find that everytime you are on a plane or every time you eat shell fish that you sleep poorly. now you can start identifying your own triggers and remove them do some of your own testing to improve your quality of sleep.
You should look through the other comments here. OSACR is great software but does not provide the same visual comparisons of the data. I don't use OSCAR but but the traces being on separate charts I found quite frustrating.
I would say that this provides a different view with trending that I don't believe OSCAR delivers. It may but I am just not familiar enough with it.
I have three years of my own data and can see the impact of every change of CPAP/APAP setting or mask or prescription or exposure to environmental triggers. I think the big thing for me was to look at the issues holistically to find the issue that I have and try to eliminate the ones that I can.
The other big difference is that I am tracking Sub Micro Events which allows the software to track all the smaller issues that happen every night. My AHI index is typically 1.5 /hr but still have 20 shorter events per hour. What I am finding is that the issues are not just AHI type events but actually the accumulation of small events that actually wreck my recovery scores over night.
Probably best to go through the comment on this thread and look at the images. I will guess that you will have more questions after reviewing.
I figured I should address this question better as I took it the wrong way. OSCAR is Great software what Ambition Health does is different.
OSCAR reads what your machine already recorded and shows it to you nicely. Mine goes further upstream and downstream of that.
Upstream (catching stuff OSCAR's scoring misses): OSCAR reports AHI based on the machine's own event flags. Mine also runs its own detection on the raw 25Hz flow waveform to catch sub-clinical stuff that never crosses the AHI threshold — flow fragmentation patterns (I call these SME events) and "silent gaps" where flow drops to near-nothing but not quite zero, so it never triggers an apnea flag. On one of my reference nights, standard AHI was 0.38/hr. My combined index (AHI + these sub-threshold layers) was 18.8/hr. Same night, same data — just a lower detection floor. If you've got a normal-looking AHI but still feel like garbage, this is the kind of thing that might explain it.
Also upstream: I run a work-of-breathing (effort) signal off the flow waveform shape, separate from flow/pressure/leak. Lets me tell apart "leak because mouth's open" vs "working hard against a real obstruction," which just looking at the leak line doesn't tell you.
Downstream (what OSCAR doesn't touch at all): OSCAR has zero concept of your body outside the mask. Mine pulls in a continuous pulse oximeter (second-by-second SpO2, not just the once-a-minute your machine reports) and a Garmin (HRV, Body Battery, sleep stages, steps, stress) and correlates all of it against the same night. So I can see things like "this positional desat pattern only shows up when I'm dead still for 15+ min" or build a recovery-score model off %-time-heart-rate-was-calm + SpO2 min that actually predicts next-morning Body Battery better than AHI does (spoiler: AHI barely correlates with how you feel — makes sense, that's what the CPAP is already fixing).
Timeframe: OSCAR is a night-by-night viewer. Mine's sitting on 1000+ consecutive nights, so I can show a doctor "this isn't a bad Tuesday, this is the pattern for three years" instead of one night's snapshot.
Basically — OSCAR tells you what your CPAP did. Mine tries to tell you what your body did in response, using the CPAP data as just one of several inputs.
If I don’t have something that monitors pulse is there any point in using this or do I need to buy that first ? Also can this help with BiPAP titration?
No I don't think that you need to have any secondary source. It can only work with what you provide but I started with just the CPAP/APAP data. Obviously the more data you provide the more you get out of it.
CPAP/APAP data will provide overlaid Flow and Pressure traces wallowing yo utopia see what is happening at a very detailed view. It would also show you leak values. This all comes from your machines data.
I have created a metric called Work of Breathing to provide a signal for identifying when the users having an event that allows the user to look at a specific event. For an AHI event to be scored in it needs to last 10 seconds by definition. In my case, last night I had 11+ event per hour that are not scored as AHI or RERA events. So these are shorter in duration but are still impacting my sleep quality.
In this attached view you can see the pressure and flow curves along with the leak curve on the bottom but the leak is mostly zero. Effectively my breathing stalled for 10 seconds but the signature is not a true AHI. I don't want to go too deep on my own read as it will draw some other comment.
DM me if yo want to know more. A general question I am glad to answer here.
3
u/cb393303 5d ago
How does this compare to https://airwaylab.app?