Show n/a for pressure on Daily page below AHI if there is no valid value. Also update release notes to reflect this.

This commit is contained in:
Guy Scharf 2019-12-28 23:16:59 -07:00
parent f1bd9c585b
commit 41bd1ded63
2 changed files with 26 additions and 12 deletions

View File

@ -1474,6 +1474,11 @@ QString Day::getPressureRelief()
return pr_str; return pr_str;
} }
QString validPressure(float pressure) {
if (fabsf(pressure) == std::numeric_limits<EventDataType>::max())
return QObject::tr("n/a");
return QString("%1").arg(pressure, 0, 'f', 1);
}
QString Day::getPressureSettings() QString Day::getPressureSettings()
{ {
@ -1486,26 +1491,34 @@ QString Day::getPressureSettings()
QString units = schema::channel[CPAP_Pressure].units(); QString units = schema::channel[CPAP_Pressure].units();
if (mode == MODE_CPAP) { if (mode == MODE_CPAP) {
return QObject::tr("Fixed %1 (%2)").arg(settings_min(CPAP_Pressure)).arg(units); return QObject::tr("Fixed %1 (%2)").arg(validPressure(settings_min(CPAP_Pressure))).arg(units);
} else if (mode == MODE_APAP) { } else if (mode == MODE_APAP) {
return QObject::tr("Min %1 Max %2 (%3)").arg(settings_min(CPAP_PressureMin)).arg(settings_max(CPAP_PressureMax)).arg(units); return QObject::tr("Min %1 Max %2 (%3)").arg(validPressure(settings_min(CPAP_PressureMin))).arg(validPressure(settings_max(CPAP_PressureMax))).arg(units);
} else if (mode == MODE_BILEVEL_FIXED ) { } else if (mode == MODE_BILEVEL_FIXED ) {
return QObject::tr("EPAP %1 IPAP %2 (%3)").arg(settings_min(CPAP_EPAP),0,'f',1).arg(settings_max(CPAP_IPAP),0,'f',1).arg(units); return QObject::tr("EPAP %1 IPAP %2 (%3)").arg(validPressure(settings_min(CPAP_EPAP))).arg(validPressure(settings_max(CPAP_IPAP))).arg(units);
} else if (mode == MODE_BILEVEL_AUTO_FIXED_PS) { } else if (mode == MODE_BILEVEL_AUTO_FIXED_PS) {
return QObject::tr("PS %1 over %2-%3 (%4)").arg(settings_max(CPAP_PS),0,'f',1).arg(settings_min(CPAP_EPAPLo),0,'f',1).arg(settings_max(CPAP_IPAPHi),0,'f',1).arg(units); return QObject::tr("PS %1 over %2-%3 (%4)").arg(validPressure(settings_max(CPAP_PS))).arg(validPressure(settings_min(CPAP_EPAPLo))).arg(validPressure(settings_max(CPAP_IPAPHi))).arg(units);
} else if (mode == MODE_BILEVEL_AUTO_VARIABLE_PS) { } else if (mode == MODE_BILEVEL_AUTO_VARIABLE_PS) {
return QObject::tr("Min EPAP %1 Max IPAP %2 PS %3-%4 (%5)").arg(settings_min(CPAP_EPAPLo),0,'f',1).arg(settings_max(CPAP_IPAPHi),0,'f',1).arg(settings_min(CPAP_PSMin),0,'f',1).arg(settings_max(CPAP_PSMax),0,'f',1).arg(units); return QObject::tr("Min EPAP %1 Max IPAP %2 PS %3-%4 (%5)").arg(validPressure(settings_min(CPAP_EPAPLo))).
arg(validPressure(settings_max(CPAP_IPAPHi))).
arg(validPressure(settings_min(CPAP_PSMin))).
arg(validPressure(settings_max(CPAP_PSMax))).arg(units);
} else if (mode == MODE_ASV) { } else if (mode == MODE_ASV) {
return QObject::tr("EPAP %1 PS %2-%3 (%4)").arg(settings_min(CPAP_EPAP),0,'f',1).arg(settings_min(CPAP_PSMin),0,'f',1).arg(settings_max(CPAP_PSMax),0,'f',1).arg(units); return QObject::tr("EPAP %1 PS %2-%3 (%4)").arg(validPressure(settings_min(CPAP_EPAP))).
arg(validPressure(settings_min(CPAP_PSMin))).
arg(validPressure(settings_max(CPAP_PSMax))).arg(units);
} else if (mode == MODE_ASV_VARIABLE_EPAP) { } else if (mode == MODE_ASV_VARIABLE_EPAP) {
return QObject::tr("Min EPAP %1 Max IPAP %2 PS %3-%4 (%5)"). return QObject::tr("Min EPAP %1 Max IPAP %2 PS %3-%4 (%5)").
arg(settings_min(CPAP_EPAPLo),0,'f',1). arg(validPressure(settings_min(CPAP_EPAPLo))).
arg(settings_max(CPAP_IPAPHi),0,'f',1). arg(validPressure(settings_max(CPAP_IPAPHi))).
arg(settings_max(CPAP_PSMin),0,'f',1). arg(validPressure(settings_max(CPAP_PSMin))).
arg(settings_min(CPAP_PSMax),0,'f',1). arg(validPressure(settings_min(CPAP_PSMax))).
arg(units); arg(units);
} else if (mode == MODE_AVAPS) { } else if (mode == MODE_AVAPS) {
return QObject::tr("EPAP %1 IPAP %2 (%3)").arg(settings_min(CPAP_EPAP),0,'f',1).arg(settings_max(CPAP_IPAP),0,'f',1).arg(units); return QObject::tr("EPAP %1 IPAP %2 (%3)").
arg(validPressure(settings_min(CPAP_EPAP))).
arg(validPressure(settings_max(CPAP_IPAP))).
arg(units);
} }
return STR_TR_Unknown; return STR_TR_Unknown;

View File

@ -10,7 +10,7 @@ Which was written and copyright 2011-2018 &copy; Mark Watkins
<b>Changes and fixes in OSCAR v1.1.0-beta-1</b> <b>Changes and fixes in OSCAR v1.1.0-beta-1</b>
<ul> <ul>
<li>Portions of OSCAR are &copy; 2019 by The OSCAR Team</li> <li>Portions of OSCAR are &copy; 2019 by The OSCAR Team</li>
<li>[new] Extensive overhaul of the Philips Respironics System One importer, resolving all known issues.</li> <li>[new] Extensive overhaul of the Philips Respironics System One importer, resolving all previously reported issues.</li>
<li>[new] The following Philips Respironics machines are now tested and fully supported: <li>[new] The following Philips Respironics machines are now tested and fully supported:
REMstar Plus (System One) (251P), REMstar Plus (System One) (251P),
REMstar Pro (System One) (450P, 451P), REMstar Pro (System One) (450P, 451P),
@ -37,6 +37,7 @@ DreamStation BiPAP S/T 30 (1030X110),
DreamStation BiPAP S/T 30 with AAM (1030X150), DreamStation BiPAP S/T 30 with AAM (1030X150),
DreamStation BiPAP AVAPS 30 (1130X110), DreamStation BiPAP AVAPS 30 (1130X110),
DreamStation BiPAP AVAPS 30 AE (1131X150)</li> DreamStation BiPAP AVAPS 30 AE (1131X150)</li>
<li>Note: The settings for PC, S, and S/T modes on Philips Respironics System One machines are displayed incorrectly.</li>
<li>[new] Update translation files and add new languages</li> <li>[new] Update translation files and add new languages</li>
<li>[new] Allow user to reset graph order on Daily page to Standard or Advanced order (often useful for AVS and AVAPS CPAP modes)</li> <li>[new] Allow user to reset graph order on Daily page to Standard or Advanced order (often useful for AVS and AVAPS CPAP modes)</li>
<li>[new] Add preference setting to include serial number on machine settings list</li> <li>[new] Add preference setting to include serial number on machine settings list</li>