Now that the post-process calcLeaks properly handles discontinuous
data, don't make the loader pretend that the machine generated
CPAP_Leak data when it didn't.
The resulting data is nearly identical, except for around edge cases
where the "correct" result is isn't clear. For example, when a
pressure changes within a 2-minute reporting interval, the
post-process calcLeaks will use that pressure when calculating
the unintended leak for that interval. The previous PRS1 loader
calculations were inconsistent, but would often apply the pressure
in place at the beginning of the 2-minute interval instead.
Either interpretation could be reasonable, but consistency is
preferred.
These minor differences aren't worth pursuing further, since the
calculated unintended leak looks dubious regardless.
This affects all CPAP/APAP/BiPAP models in the 4xx-7xx range.
In contrast, most ventilators and ASV record unintended leak
data (only the oldest ones don't), and so aren't affected by
these changes.
Minor improvement to mask pressure averaging used in unintentional leak calculations.
Fix Y2K calculation in unused code in sleepstle_EDFInfo.cpp
Update Release Notes
Loader calculates leak rate from mask pressure and does usual linear interpolation for leak rate for the pressure
Calculation of CPAP_Leak is now done in the loader rather than in calcs.cpp
Apparently the Android app is now exporting files with timestamps of the form
"YYYY-MM-DD hh:mm:ss". It turns out that ":" is not a valid character on
macOS, so Mac users using version 2.72 of the Android app will need to rename
their files to end with "YYYYMMDDhhmmss" in order to select and import them.
Windows and Linux won't.
Fortunately the intersection of Android users and Mac users is relatively small.
And this may be reverted in a future version of the Android app.
Also clean up some competing release notes edits.
No naturally occurring discrepancies have been observed in the wild,
but for some reason the timestamps generated by Viatom/Wellue devices
seem to be a bit off, even when their clocks have been synchronized
to atomic time.
This patch provides a fairly easy way for a user to adjust Viatom
timestamps to match their CPAP's.
Use #define DEBUGSS to enable all loader debug messages, which are off by default
Change EPR definition to "Expiratory Relief" which is the term F&P uses instead of "Exhale Pressure Relief"
o While the Sleepstyle summary record has a data item that appears to identify the mode as CPAP or APAP, it is not reliable
o Determine APAP or CPAP by comparing Max and 95 percentile pressures seen with the CPAP pressure setting
o This could result in an incorrect identification if user sets CPAP pressure to APAP Max pressure.
o Add DEBUGSS define to enable SleepStyle loader debugging.
Mostly improve settings and make them appear properly on daily page
Return to having four event flag channels (OA, UA, CA, H) instead of two (A, H)
for testing to see if channel identification is reliable.
F&P A = OA + CA; F&P H = H + UA
While the event flags in SleepStyle data show four different types of apneas,
Fisher & Paykel software reports only two types: Hypopneas and Apnea. OCAR
how combines those four types to report the same way as F&P does.
We don't know why F&P consolidates these different event types -- perhaps
they are "dumbing-down" detail to make it easier for users, or perhaps
they know that the identifcation of CA, OA, UA, and H is not reliable.
We can easily restore more details to the event identification.
This is the first test version of the F&P SleepStyle loader
Additional refinements are yet to be made. Events and timestamps
need to be confirmed, but overall the loader appears to be working.