Apnea Board Forum - CPAP | Sleep Apnea
Fisher-Paykel SleepStyle: Event type and duration in OSCAR - Printable Version

+- Apnea Board Forum - CPAP | Sleep Apnea (https://www.apneaboard.com/forums)
+-- Forum: Public Area (https://www.apneaboard.com/forums/Forum-Public-Area)
+--- Forum: Software Support Forum (https://www.apneaboard.com/forums/Forum-Software-Support-Forum)
+--- Thread: Fisher-Paykel SleepStyle: Event type and duration in OSCAR (/Thread-Fisher-Paykel-SleepStyle-Event-type-and-duration-in-OSCAR)



Fisher-Paykel SleepStyle: Event type and duration in OSCAR - bill.page - 04-04-2022

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?

Comparing the SleepStyle loader with the DreamStation prs1_loader.cpp code (much more complex!) suggests that there is currently no code in the SleepStyle loader to deal with event duration. Again, is this because this detail is not provided by the data from the SleepStyle machine or is it only because the necessary programming has not been implemented yet? If the latter is the case, I would be interested in trying to help implement this feature.

Thanks.


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - Gideon - 04-04-2022

OSCAR is intended to be a reporter of information and not a calculator of information that doesn't exist from the manufacturer.
Originally in the predecessor to OSCAR event duration was calculated by inserting an arbitrary fixed value in the "duration" field. When we discovered this OSCAR dropped the calculation because where the duration data did not exist. Guy would need to answer the specifics of the SleepStyle implementation. There are other instances where SleepyHead and subsequently early versions of OSCAR offered data as fact without it being so. As these are found OSCAR is eliminating them.


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - Crimson Nape - 04-04-2022

In your post, you state, "Fisher-Paykel SleepStyle sales literature specifically mentions that the SleepStyle machine makes special provision for treating clear airway apnea differently than obstructive." It may treat it, but it doesn't state that their machine reports it. OSCAR will only report the parameters generated by the device.


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - bill.page - 04-04-2022

(04-04-2022, 03:09 PM)Gideon Wrote: OSCAR is intended to be a reporter of information and not a calculator of information that doesn't exist from the manufacturer.  
Originally in the predecessor to OSCAR event duration was calculated by inserting an arbitrary fixed value in the "duration" field.  When we discovered this OSCAR dropped the calculation because where the duration data did not exist.  Guy would need to answer the specifics of the SleepStyle implementation.  There are other instances where SleepyHead and subsequently early versions of OSCAR offered data as fact without it being so.  As these are found OSCAR is eliminating them.

(04-04-2022, 03:39 PM)Crimson Nape Wrote: In your post, you state, "Fisher-Paykel SleepStyle sales literature specifically mentions that the SleepStyle machine makes special provision for treating clear airway apnea differently than obstructive."  It may treat it, but it doesn't state that their machine reports it.  OSCAR will only report the parameters generated by the device.

It seems unnecessary to state that OSCAR should not report information that cannot be obtained from the data recorded by the device. But depending on how data is encoded in the files stored on the SD card or USB stick, the programming effort required to obtain that information might be less or more and in some cases not possible at all. My question was whether the apnea type and event duration data can in principle be obtained via suitable programming from the SleepStyle data files. Of course without detailed information or example programming from the manufacturer it is a difficult problem to reverse engineer data formats but that is something that the SleepHead software did manage to do in many cases.

From the history in the source code repository it seems that the particular data loader plugin for the previous Fisher-Paykel ICON machine, on which the new loader plugin for the SleepStyle model was based, did not include any event duration data but it did apparently include information about the apnea type so I was thinking that it might not be so difficult to at least report the different apnea types for the SleepStyle machine in OSCAR.

Whether the manufacturer's reporting software displays certain information or not is a matter of design objectives and the cost of the programming effort required. Since OSCAR supports many different types of machines, I am not sure that it is necessarily a good policy to limit the information displayed based on some other software package. But of course there are always limits on what is practical in a volunteer-based open source software project.

Thanks.


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - Gideon - 04-04-2022

(04-04-2022, 05:42 PM)bill.page Wrote:  Since OSCAR supports many different types of machines, I am not sure that it is necessarily a good policy to limit the information displayed based on some other software package. But of course there are always limits on what is practical in a volunteer-based open source software project.

Thanks.

The original model assumed that all CPAP data was the same and as you alluded to it is not.  In the future we will be redesigning the OSCAR DB to be much more flexible for these differences.  So yes, we are very aware of it.


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - bill.page - 04-04-2022

(04-04-2022, 06:05 PM)Gideon Wrote: The original model assumed that all CPAP data was the same and as you alluded to it is not.  In the future we will be redesigning the OSCAR DB to be much more flexible for these differences.  So yes, we are very aware of it.

Perhaps I should clarify that what I meant by "I am not sure that it is necessarily a good policy to limit the information displayed based on some other software package." was including software packages distributed by the original machine manufacturer.  In other words, just because the F&P InfoSmart package only displays Apnea and Hypopnea, if OSCAR can distinguish different types of apnea in the F&P data files in a way similar to other manufactures (such as Philips and ResMed) then maybe OSCAR should load this information into the DB and display a more detailed kind of report (at least as a option) for compatibility and to make cross-machine comparisons easier.

Certainly flexibility is a good thing but redesigning the OSCAR DB sounds like a very ambitious and possibly difficult project to me.

Thanks.


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - Gideon - 04-04-2022

Without a doubt, but it is needed,


RE: Fisher-Paykel SleepStyle: Event type and duration in OSCAR - GuyScharf - 04-05-2022

(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!