(04-04-2022, 12:10 PM)bill.page Wrote: I previously used a Philips DreamStation and was especially interested in tracking Clear airway apnea versus Obstructive apnea (I have both types in roughly equal parts). I also find it useful to know the duration of events since long duration events seem to affect me much more than short ones. Changes in the pressure settings have a significant impact on both of these statistics. So I was disappointed to see that OSCAR's display of data loaded from my new Fisher-Paykel SleepStyle Auto machine does not provide this information. Apneas are classified only as Apnea versus Hypopnea and no duration is shown. The Fisher-Paykel SleepStyle sales literature specifically mentions that the SleepStyle machine makes special provision for treating clear airway apnea differently than obstructive and my experience so far with this machine confirms this but I have no way to quantify it using OSCAR.
I am (or rather, was) a software developer so I looked at the GitLab source code for loader_plugins/sleepstyle_loader.cpp and noticed that it was changed about 8 months ago by commit "SleepStyle loader now classifies apneas as either A or H, like InfoSmart does." @Guy Scharf. Was this change necessary based on how the data from the SleepStyle machine codes events or was it only for compatibility with the Fisher-Paykel software? If I revert this change and re-compile will the result be more like the DreamStation event data?
You are correct that the SleepStyle literature makes a point that clear apneas are detected. But I was unable to find any reporting of clear apneas in the data from the card. Nor are clear apneas reported by the F&P InfoSmart software.
The most critical measure of "correctness" of any loader is whether OSCAR matches what the manufacturer's software reports. And A and H counts do match what InfoSmart reports, including that InfoSmart reports only A and H events. We never try to match to another machine, as there is good reason to assume that each brand of machine will have its own algorithms and ways of detecting events that it thinks needed to be responded to and how to respond. This most frequently comes up when someone switches from Philips to ResMed machine or vice-versa. Reported events are often different and the different machines need to be "tuned" differently to provide the best result for the user.
In many cases, OSCAR does report data from the SD card that the manufacturer's software does not. But we do that only if we can confirm, to our satisfaction, that the data was recorded accurately.
While the data appears to have four data channels for events, it was clear that InfoSmart summed them into two channels for the A and H events that it reports. At one point, I tried reporting all four channels separately, hoping to be able to identify one as a CA channel, but could then not reproduce InfoSmart's A and H data. I was unable to be certain why two channels were used for Apneas and two for Hypopneas, except that it did appear that events in one of each of the two channels were (often) followed by a pressure increase while events in the other channel of each pair were not followed by a pressure increase.
OSCAR is intended to report what the CPAP machine offers. The SleepStyle machine does not report event durations, at least not that I found, so we do not report duration. While it has been suggested that OSCAR could re-evaluate the flow data to make its own assessment of apneas and durations, this is not in the scope of what OSCAR is intended to do.
You can see from the comments in the code that there are some data values for which we do not know the meaning.
By all means, please feel free to change the code to investigate further. Let us know what you discover. We welcome suggestions!