Index: leahi.qrc =================================================================== diff -u -rb0ad6789ac542b1c24db1d89af3d4e1411a4d4f1 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- leahi.qrc (.../leahi.qrc) (revision b0ad6789ac542b1c24db1d89af3d4e1411a4d4f1) +++ leahi.qrc (.../leahi.qrc) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -43,6 +43,7 @@ sources/gui/qml/dialogs/UfVolumeAdjustment.qml sources/gui/qml/dialogs/HeparinRxAdjustment.qml sources/gui/qml/dialogs/AlarmDialog.qml + sources/gui/qml/dialogs/PatientIdEntry.qml sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r54dac829fccaf4646e2e21c18226893afd3d8e73 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 54dac829fccaf4646e2e21c18226893afd3d8e73) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -293,7 +293,7 @@ // ---- Treatment Log {Gui::GuiActionType::ID_AdjustTreatmentLogReq , 0 * 4 }, // 0 parameter {Gui::GuiActionType::ID_AdjustTreatmentLogRsp , 62 * 4 }, // 62 parameter each 4bytes - {Gui::GuiActionType::ID_TreatmentLogAvrgeData , 5 * 4 }, // 5 parameter each 4bytes + {Gui::GuiActionType::ID_TreatmentLogAvrgeData , 7 * 4 }, // 7 parameter each 4bytes {Gui::GuiActionType::ID_TreatmentLogAlarmData , 3 * 4 }, // 3 parameter each 4bytes {Gui::GuiActionType::ID_TreatmentLogEventData , 3 * 4 }, // 3 parameter each 4bytes Index: sources/gui/GuiGlobals.h =================================================================== diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -329,7 +329,7 @@ ID_AdjustTreatmentLogRsp = 0xAA00, // 167 // Treatment Log Data - ID_TreatmentLogAvrgeData = 0x940F, // 148 //// ----- @CRAPIZED: had to change to avoid duplication + ID_TreatmentLogAvrgeData = 0xAD00, // ID_TreatmentLogAlarmData = 0x6A00, // 106 //// ----- @LEAHIZED ID_TreatmentLogEventData = 0x6B00, // 107 //// ----- @LEAHIZED Index: sources/gui/qml/dialogs/PatientIdEntry.qml =================================================================== diff -u --- sources/gui/qml/dialogs/PatientIdEntry.qml (revision 0) +++ sources/gui/qml/dialogs/PatientIdEntry.qml (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -0,0 +1,127 @@ +// Qt +import QtQuick 2.15 +import QtQuick.Controls 2.15 +// Project + +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" +import "qrc:/pages/treatment/adjustments" + +TreatmentAdjustmentBase { id : _root + property bool editingEnabled : false + + height : Variables.smallDialogHeight + width : Variables.smallDialogWidth + titleText : qsTr("Enter Patient ID") + + x : Math.round((parent.width - width) / 2) + y : Math.round((parent.height - height) / 2) + onCloseClicked : _root.close() + + // Mouse area used to lower keybaord when clicking outside any TextEntry + MouseArea { id: _mouseArea + anchors.fill: parent + onPressed: { + focus = true + } + } + + Column { id : _column + spacing: Variables.defaultMargin + + anchors { + top : _root.contentItem.top + topMargin : Variables.defaultMargin * 2 + horizontalCenter: _root.contentItem.horizontalCenter + } + + LabelUnitContainer { id: _patientID + text : qsTr("Patient ID") + contentArea.anchors.leftMargin : 120 + + contentItem : TextEntry { id: _pretreatmentPatientIDEntry + clip : true + textInput.width : parent.width - Variables.defaultMargin * 4 + text : vTreatmentCreate.patientID + anchors.centerIn : parent + textInput.maximumLength : 20 // LEAHI-PRS-236 + textInput.rightPadding : Variables.defaultMargin + textInput.leftPadding : Variables.defaultMargin * 14 + textInput.inputMethodHints : Qt.ImhPreferLowercase + textInput.echoMode : TextInput.Normal + textInput.validator : RegExpValidator { regExp: Variables.regExp_PatientID } + line.visible : false + enabled : _root.editingEnabled + + Text { id: _patientIDPlaceHolderText + text : Variables.emptyEntry + anchors.fill : parent + rightPadding : 125 + horizontalAlignment : Text.AlignRight + font.pixelSize : Fonts.fontPixelValueControl + color : Colors.offWhite + visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && + ! _pretreatmentPatientIDEntry.textInput.activeFocus + } + } + } + + LabelUnitContainer { id: _secondaryPatientID + text : qsTr("Secondary Patient ID") + contentArea.anchors.leftMargin : 120 + + contentItem : TextEntry { id: _pretreatmentSecondaryPatientIDEntry + clip : true + textInput.width : parent.width - Variables.defaultMargin * 4 + text : vTreatmentCreate.patientID + anchors.centerIn : parent + textInput.maximumLength : 20 // LEAHI-PRS-236 + textInput.rightPadding : Variables.defaultMargin + textInput.leftPadding : Variables.defaultMargin * 14 + textInput.inputMethodHints : Qt.ImhPreferLowercase + textInput.echoMode : TextInput.Normal + textInput.validator : RegExpValidator { regExp: Variables.regExp_PatientID } + line.visible : false + enabled : _root.editingEnabled + + Text { id: _psecondaryPatientIDPlaceHolderText + text : Variables.emptyEntry + anchors.fill : parent + rightPadding : 125 + horizontalAlignment : Text.AlignRight + font.pixelSize : Fonts.fontPixelValueControl + color : Colors.offWhite + visible : _pretreatmentSecondaryPatientIDEntry.textInput.text.length === 0 && + ! _pretreatmentSecondaryPatientIDEntry.textInput.activeFocus + } + } + } + } + + ConfirmButton { id : _confirmButton + anchors { + bottom : _root.contentItem.bottom + bottomMargin : Variables.defaultMargin * 3 + horizontalCenter: _root.contentItem.horizontalCenter + } + + width : Variables.defaultButtonWidth + height : Variables.defaultButtonHeight + visible : ! vTreatmentCreate.parametersValidated + + anchors { + top : undefined + right : undefined + margins : 0 + } + + onClicked : { + vTreatmentCreate.patientID = _pretreatmentPatientIDEntry.text + vTreatmentCreate.secondaryPatientID = _pretreatmentSecondaryPatientIDEntry.text + + _root.close() + } + } +} Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml =================================================================== diff -u -ra8ce0941b44e15fb7b9365f98d4656e232d4bf35 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision a8ce0941b44e15fb7b9365f98d4656e232d4bf35) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -115,8 +115,9 @@ } function validate (vFinalConfirmation) { - vTreatmentCreate .patientID = _preTreatmentCreatePatientPrescription.patientID - vPostTreatmentAdjustmentTreatmentLog.patientID = _preTreatmentCreatePatientPrescription.patientID // store for the TreatmentLog + // store for the TreatmentLog + vPostTreatmentAdjustmentTreatmentLog.patientID = vTreatmentCreate.patientID + vPostTreatmentAdjustmentTreatmentLog.secondaryPatientID = vTreatmentCreate.secondaryPatientID vTreatmentCreate.finalConfirmation = vFinalConfirmation ? 1 : 0 vTreatmentCreate.doValidation ( ) } @@ -133,8 +134,6 @@ Connections{ target: vTreatmentCreate function onDidValidationPass ( ) { - vPostTreatmentAdjustmentTreatmentLog.heparinDispensingRateOff = vTreatmentCreate.heparinDispensingRateOff = ! vTreatmentCreate.heparinDispensingRate - vPostTreatmentAdjustmentTreatmentLog.heparinBolusVolumeOff = vTreatmentCreate.heparinBolusVolumeOff = ! vTreatmentCreate.heparinBolusVolume activateAndRefresh() // refresh values on validation clearErrors() } @@ -152,6 +151,7 @@ HeparinRxAdjustment { id: _heparinRxAdjustment; editingEnabled: _root.editingEnabled } UfVolumeAdjustment { id: _ufVolumeAdjustment; editingEnabled: _root.editingEnabled } + PatientIdEntry { id: _patientIdEntry; editingEnabled: _root.editingEnabled } MouseArea { // click outside to remove active focus and lower keyboard anchors.fill : parent Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml =================================================================== diff -u -ra8ce0941b44e15fb7b9365f98d4656e232d4bf35 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (.../PreTreatmentCreatePatientPrescription.qml) (revision a8ce0941b44e15fb7b9365f98d4656e232d4bf35) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (.../PreTreatmentCreatePatientPrescription.qml) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -12,7 +12,6 @@ readonly property int cellWidth : Variables.createRxLabelUnitContainerWidth readonly property int cellHeight : Variables.createRxLabelUnitContainerHeight readonly property bool heparinFeatured : vSettings.heparinSyringePump - readonly property string patientID : _pretreatmentPatientIDEntry.text property bool isHDFFeatured : vTreatmentCreate.treatmentModality === HeaderBar.Mode_HDF property bool isHeparinOn : _heparinRxControl.value === PreTreatmentCreatePatientPrescription.ON @@ -56,7 +55,8 @@ } function clear () { - vTreatmentCreate.patientID = "" + vTreatmentCreate.patientID = "" + vTreatmentCreate.secondaryPatientID = "" _hdfTreatmentModeControl .clear() _subFluidVolume .clear() _bloodFlowRate .clear() @@ -89,33 +89,15 @@ LabelUnitContainer { id: _patientID text : qsTr("Patient ID") - contentArea.anchors.leftMargin : 120 + showEdit : _root.editingEnabled + onEditClicked : _patientIdEntry.open() - contentItem : TextEntry { id: _pretreatmentPatientIDEntry - clip : true - textInput.width : parent.width - Variables.defaultMargin * 4 - text : vTreatmentCreate.patientID - anchors.centerIn : parent - textInput.maximumLength : 20 // LEAHI-PRS-236 - textInput.rightPadding : Variables.defaultMargin - textInput.leftPadding : Variables.defaultMargin * 14 - textInput.inputMethodHints : Qt.ImhPreferLowercase - textInput.echoMode : TextInput.Normal - textInput.validator : RegExpValidator { regExp: Variables.regExp_PatientID } - line.visible : false - enabled : _root.editingEnabled - onEditingFinished : vTreatmentCreate.patientID = text - - Text { id: _patientIDPlaceHolderText - text : Variables.emptyEntry - anchors.fill : parent - rightPadding : 125 - horizontalAlignment : Text.AlignRight - font.pixelSize : Fonts.fontPixelValueControl - color : Colors.offWhite - visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && - ! _pretreatmentPatientIDEntry.textInput.activeFocus - } + contentItem : Text { id: _patientIDText + anchors.centerIn : parent + horizontalAlignment : Text.AlignRight + font.pixelSize : Fonts.fontPixelValueControl + color : Colors.offWhite + text : vTreatmentCreate.patientID !== "" ? vTreatmentCreate.patientID : Variables.emptyEntry } } Index: sources/gui/qml/pages/settings/SettingsExportLogs.qml =================================================================== diff -u -rbeadb6f68cff8bc50f255f83203ec201a5468dc1 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/gui/qml/pages/settings/SettingsExportLogs.qml (.../SettingsExportLogs.qml) (revision beadb6f68cff8bc50f255f83203ec201a5468dc1) +++ sources/gui/qml/pages/settings/SettingsExportLogs.qml (.../SettingsExportLogs.qml) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -204,6 +204,8 @@ _root.typeLabelService , _root.typeLabelTreatment ] + + onActivated: updatePanels( _logTypeCombo.currentIndex ) } } Column { Index: sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h =================================================================== diff -u -re6ffa6d5d1b7820875de07cdbb15f06617400344 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision e6ffa6d5d1b7820875de07cdbb15f06617400344) +++ sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -382,7 +382,7 @@ * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | - * |0x8400| 0x100 | Req | Y | UI | TD | Isolated UF Duration Change Request | + * |0x9B00| 0x100 | Req | Y | UI | TD | Isolated UF Duration Change Request | * * | Payload || * | || @@ -406,7 +406,7 @@ * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | - * |0x8600| 0x100 | Req | Y | UI | TD | Isolated UF Volume Change Request | + * |0x9D00| 0x100 | Req | Y | UI | TD | Isolated UF Volume Change Request | * * | Payload || * | || @@ -432,7 +432,7 @@ * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | - * |0x8800| 0x041 | Req | Y | UI | TD | Isolated UF Change User Confirm | + * |0x9F00| 0x041 | Req | Y | UI | TD | Isolated UF Change User Confirm | * * | Payload || * | || Index: sources/model/hd/data/treatmentlog/MTreatmentLogAvrgeData.h =================================================================== diff -u -ra58f91b077c8131bea3dbde0fc338adb113fc9f3 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/model/hd/data/treatmentlog/MTreatmentLogAvrgeData.h (.../MTreatmentLogAvrgeData.h) (revision a58f91b077c8131bea3dbde0fc338adb113fc9f3) +++ sources/model/hd/data/treatmentlog/MTreatmentLogAvrgeData.h (.../MTreatmentLogAvrgeData.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -33,7 +33,7 @@ * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------:| - * |0x9400| 0x020 | 30 min | Y | HD | UI | Treatment Log Average Periodic Data | + * |0x9400| 0x020 | 30 min | Y | TD | UI | Treatment Log Average Periodic Data | * * | Payload || * | || @@ -42,6 +42,8 @@ * | #3:(F32) | \ref Data::mUFRate | * | #4:(F32) | \ref Data::mArterialPressure | * | #5:(F32) | \ref Data::mVenousPressure | + * | #6:(F32) | \ref Data::mTMPPressure | + * | #7:(F32) | \ref Data::mDialysateTemp | * * \sa Data * \sa HD_Post_Treatment_Mode_States @@ -67,6 +69,8 @@ Types::F32 mUFRate ; ///< (F32) Ultrafiltration Rate (mmHg) Types::F32 mArterialPressure ; ///< (F32) Arterial Pressure (mmHg) Types::F32 mVenousPressure ; ///< (F32) Venous Pressure (mmHg) + Types::F32 mTMPPressure ; ///< (F32) TMP Pressure (mmHg) + Types::F32 mDialysateTemp ; ///< (F32) Dialysate Temperature (°C) } _data; public: @@ -82,6 +86,8 @@ float mUFRate = 0; ///< Ultrafiltration Rate (mmHg) float mArterialPressure = 0; ///< Arterial Pressure (mmHg) float mVenousPressure = 0; ///< Venous Pressure (mmHg) + float mTMPPressure = 0; ///< TMP Pressure (mmHg) + float mDialysateTemp = 0; ///< Dialysate Temperature (°C) quint16 mSystolic = 0; ///< Systolic Blood Pressure - This value is not coming from FW and will be get from UI and User. quint16 mDiastolic = 0; ///< Diastolic Blood Pressure - This value is not coming from FW and will be get from UI and User. quint16 mHeartRate = 0; ///< Heart Rate - This value is not coming from FW and will be get from UI and User. Index: sources/storage/TreatmentLog.cpp =================================================================== diff -u -rc16cfee6212ad1ba9f788c41d4a4c916daa43c9c -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/storage/TreatmentLog.cpp (.../TreatmentLog.cpp) (revision c16cfee6212ad1ba9f788c41d4a4c916daa43c9c) +++ sources/storage/TreatmentLog.cpp (.../TreatmentLog.cpp) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -218,70 +218,71 @@ * Initializing the model for the constant values. * \param vData - the response model data. */ -void TreatmentLog::initModel(const AdjustTreatmentLogResponseData &vData, const QString &vPatientID, bool vHeparinBolusVolumeOff, bool vHeparinDispensingRateOff) +void TreatmentLog::initModel(const AdjustTreatmentLogResponseData &vData, const QString &vPatientID, const QString &vSecondaryPatientID) { // Formatted values QString mStrText = "%1"; // DEBUG: qDebug() << _Settings.groups(); // SRSUI910 : PRS178 : Clinical - Data - Order - bool isHeparinOff = vHeparinBolusVolumeOff && vHeparinDispensingRateOff; - Q_UNUSED(isHeparinOff); // TODO LDT-2500 or LDT-2506 // QString mTreatmentDurationFmt = QTime (0, 0).addSecs(int(vData.mTreatmentDuration )).toString(_timeFormat); // QString mActualTreatmentDurationFmt = QTime (0, 0).addSecs(int(vData.mActualTreatmentDuration )).toString(_timeFormat); -// QString mTreatmentDuration = QString::number(vData.mTreatmentDuration / 60 ); // Converted seconds to minutes. -// QString mActualTreatmentDuration = QString::number(vData.mActualTreatmentDuration / 60 ); // Converted seconds to minutes. -// QString mTreatmentStartDateTime = Format::fromEpoch( vData.mTreatmentStartEpoch , _datetimeFormat); -// QString mTreatmentEndDateTime = Format::fromEpoch( vData.mTreatmentEndEpoch , _datetimeFormat); + QString mTreatmentDuration = QString::number(vData.mTreatmentDuration / 60 ); // Converted seconds to minutes. + QString mActualTreatmentDuration = QString::number(vData.mTreatmentDurationActual / 60 ); // Converted seconds to minutes. + QString mTreatmentStartDateTime = Format::fromEpoch( vData.mTreatmentStartEpoch , _datetimeFormat); + QString mTreatmentEndDateTime = Format::fromEpoch( vData.mTreatmentEndEpoch , _datetimeFormat); // // TODO : The settings needs modification not only to define the category and groups in a common header but also the settings itself needs some mods. // // - the category shall become as part of the group // // - the structure of the settings should become horizontal which vertical now. -// QString mCategory = Storage::Settings_Category_DataList; -// QString mAcidConcentrateType = _Settings.key(mCategory, "Acid Concentrate Options" , vData.mAcidConcentrateType ); -// QString mBicarbonateConcentrateType = _Settings.key(mCategory, "Bicarbonate Concentrate Options" , vData.mBicarbonateCartridgeSize ); -// QString mDialyzerType = _Settings.key(mCategory, "Dialyzer Type Options" , vData.mDialyzerType ); -// QString mHeparinType = _Settings.key(mCategory, "Heparin Type Options" , vData.mHeparinType ); -// QString mWaterSampleTestResult = _Settings.key(mCategory, "Water Sample Result" , vData.mWaterSampleTestResult ); + QString mCategory = Storage::Settings_Category_DataList; + QString mAcidConcentrateType = _Settings.key(mCategory, "Acid Concentrate Options" , vData.mAcidConcentrateType ); + QString mBicarbonateConcentrateType = _Settings.key(mCategory, "Bicarbonate Concentrate Options" , vData.mBicarbonateCartridgeSize ); + QString mDialyzerType = _Settings.key(mCategory, "Dialyzer Type Options" , vData.mDialyzerType ); + QString mHeparinType = _Settings.key(mCategory, "Heparin Type Options" , vData.mHeparinType ); + QString mWaterSampleTestResult = _Settings.key(mCategory, "Water Sample Result" , vData.mWaterSampleTestResult ); + bool isHeparinOff = vData.mHeparinBolusVolume == 0; + bool isHeparinDispensingRateOff = vData.mHeparinDispenseRate == 0; - // init/fill/clear the _values clearModel(); // TODO in treatment log story LDT-2500 or LDT-2506 + // LEAHI-PRS-143 _values[ePatientID ] = vPatientID.trimmed() ; + _values[eSecondaryPatientID ] = vSecondaryPatientID.trimmed() ; _values[eBloodFlowRate ] = mStrText.arg(vData.mBloodFlowRate ); -// _values[eDialysateFlowRate ] = mStrText.arg(vData.mDialysateFlowRate ); -// _values[eTreatmentDuration ] = mTreatmentDuration ; -// _values[eActualTreatmentDuration ] = mActualTreatmentDuration ; -// _values[eAcidConcentrateType ] = mAcidConcentrateType ; -// _values[eBicarbonateConcentrateType ] = mBicarbonateConcentrateType ; -// _values[ePotassiumConcentration ] = mStrText.arg(vData.mPotassiumConcentration ); -// _values[eCalciumConcentration ] = mStrText.arg(vData.mCalciumConcentration ); -// _values[eBicarbonateConcentration ] = mStrText.arg(vData.mBicarbonateConcentration ); -// _values[eSodiumConcentration ] = mStrText.arg(vData.mSodiumConcentration ); -// _values[eDialysateTemperature ] = mStrText.arg(vData.mDialysateTemperature ,FLOAT3 ); -// _values[eDialyzerType ] = mDialyzerType ; -// _values[eTreatmentStartDateTime ] = mTreatmentStartDateTime ; -// _values[eTreatmentEndDateTime ] = mTreatmentEndDateTime ; -// _values[eWaterSampleTestResult ] = mWaterSampleTestResult ; -// _values[eDialysateVolumeUsed ] = mStrText.arg(vData.mDialysateVolumeUsed ,FLOAT3 ); -// _values[eOriginUFVolume ] = mStrText.arg(vData.mOriginUFVolume ,FLOAT3 ); -// _values[eTargetUFVolume ] = mStrText.arg(vData.mTargetUFVolume ,FLOAT3 ); -// _values[eActualUFVolume ] = mStrText.arg(vData.mActualUFVolume ,FLOAT3 ); -// _values[eOriginUFRate ] = mStrText.arg(vData.mOriginUFRate ,FLOAT3 ); -// _values[eTargetUFRate ] = mStrText.arg(vData.mTargetUFRate ,FLOAT3 ); -// _values[eActualUFRate ] = mStrText.arg(vData.mActualUFRate ,FLOAT3 ); -// _values[eSalineBolusVolume ] = mStrText.arg(vData.mSalineBolusVolume ); + _values[eDialysateFlowRate ] = mStrText.arg(vData.mDialysateFlowRate ); + _values[eTreatmentDuration ] = mTreatmentDuration ; + _values[eActualTreatmentDuration ] = mActualTreatmentDuration ; + _values[eAcidConcentrateType ] = mAcidConcentrateType ; + _values[eBicarbonateConcentrateType ] = mBicarbonateConcentrateType ; + _values[ePotassiumConcentration ] = mStrText.arg(vData.mPotassiumConcentration ); + _values[eCalciumConcentration ] = mStrText.arg(vData.mCalciumConcentration ); + _values[eBicarbonateConcentration ] = mStrText.arg(vData.mBicarbonateConcentration ); + _values[eSodiumConcentration ] = mStrText.arg(vData.mSodiumConcentration ); + _values[eDialysateTemperature ] = mStrText.arg(vData.mDialysateTemperature ,FLOAT3 ); + _values[eDialyzerType ] = mDialyzerType ; + _values[eTreatmentStartDateTime ] = mTreatmentStartDateTime ; + _values[eTreatmentEndDateTime ] = mTreatmentEndDateTime ; + _values[eWaterSampleTestResult ] = mWaterSampleTestResult ; + _values[eDialysateVolumeUsed ] = mStrText.arg(vData.mDialysateVolumeUsed ,FLOAT3 ); + _values[eOriginUFVolume ] = mStrText.arg(vData.mUFVolume ,FLOAT3 ); + _values[eTargetUFVolume ] = mStrText.arg(vData.mUFVolumeTarget ,FLOAT3 ); + _values[eActualUFVolume ] = mStrText.arg(vData.mUFVolumeActual ,FLOAT3 ); + _values[eOriginUFRate ] = mStrText.arg(vData.mUFRate ,FLOAT3 ); + _values[eTargetUFRate ] = mStrText.arg(vData.mUFRateTarget ,FLOAT3 ); + _values[eActualUFRate ] = mStrText.arg(vData.mUFRateActual ,FLOAT3 ); + _values[eSalineBolusVolume ] = mStrText.arg(vData.mFluidBolusVolume ); + _values[eHeparinBolusVolume ] = mStrText.arg(vData.mHeparinBolusVolume ,FLOAT3 ); -// _values[eHeparinType ] = isHeparinOff ? tr("NONE") : mHeparinType ; -//// _values[eHeparinConcentration ] = isHeparinOff ? tr("NONE") : mStrText.arg(vData.mHeparinConcentration ); -// _values[eHeparinBolusVolume ] = vHeparinBolusVolumeOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinBolusVolume ,FLOAT3 ); -// _values[eHeparinDispenseRate ] = vHeparinDispensingRateOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinDispenseRate ,FLOAT3 ); -//// _values[eHeparinStop ] = vHeparinDispensingRateOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinStop ); -// _values[eHeparinDeliveredVolume ] = isHeparinOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinDeliveredVolume ,FLOAT3 ); + _values[eHeparinType ] = isHeparinOff ? tr("NONE") : mHeparinType ; + _values[eHeparinConcentration ] = isHeparinOff ? tr("NONE") : mStrText.arg(vData.mHeparinType ); + _values[eHeparinDispenseRate ] = isHeparinDispensingRateOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinDispenseRate ,FLOAT3 ); + _values[eHeparinStop ] = isHeparinDispensingRateOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinDeliveryDuration ); + _values[eHeparinDeliveredVolume ] = isHeparinOff ? tr("OFF" ) : mStrText.arg(vData.mHeparinDeliveredVolume ,FLOAT3 ); emit didTxCodeReceive(""); } @@ -290,7 +291,7 @@ * \brief TreatmentLog::append * \param vData - the received data to be kept in the list to be appended at the end of the Treatment Log */ -void TreatmentLog::append(const TreatmentLogAvrgeData &vData) { _treatmentLogAvrgeData.append(vData); } +void TreatmentLog::append(const TreatmentLogAvrgeData &vData) { _treatmentLogAvrgeData.append(vData); qDebug("TreatmentLogAvrgeData");} void TreatmentLog::append(const TreatmentLogAlarmData &vData) { _treatmentLogAlarmData.append(vData); } void TreatmentLog::append(const TreatmentLogEventData &vData) { _treatmentLogEventData.append(vData); } @@ -370,12 +371,13 @@ uint index = 0 ; QString txCode = "%1,%2," ; - ADDTITLE("Title"); + ADDTITLE("Patient Information"); ADDALINE(txCode .arg(_txCodeKey).arg(_gTxCode) ); - ADDTOLOG_MT( ePatientID, _emptyPatinetID ); + ADDTOLOG_MT( ePatientID, _emptyPatinetID ); + ADDTOLOG_MT( eSecondaryPatientID, _emptyPatinetID ); - ADDTITLE("Treatment Parameters" ); + ADDTITLE("Treatment Prescription" ); ADDTOLOG( eTreatmentDuration ); ADDTOLOG( eBloodFlowRate ); ADDTOLOG( eDialysateFlowRate ); @@ -393,12 +395,11 @@ ADDTOLOG( eHeparinDispenseRate ); ADDTOLOG( eHeparinStop ); - ADDTITLE("Treatment Time" ); + ADDTITLE("Treatment Report" ); ADDTOLOG( eTreatmentStartDateTime ); ADDTOLOG( eTreatmentEndDateTime ); ADDTOLOG( eActualTreatmentDuration ); - ADDTITLE("Device Treatment Data" ); ADDTOLOG( eDialysateVolumeUsed ); ADDTOLOG( eOriginUFVolume ); ADDTOLOG( eTargetUFVolume ); @@ -408,15 +409,12 @@ ADDTOLOG( eActualUFRate ); ADDTOLOG( eSalineBolusVolume ); ADDTOLOG( eHeparinDeliveredVolume ); - - ADDTITLE("Extra" ); ADDTOLOG( eWaterSampleTestResult ); - ADDTITLE("Treatment Data" ); + ADDTITLE("Measured Parameters" ); for ( const TreatmentLogAvrgeData &item : _treatmentLogAvrgeData ) { QString line; line += csv.arg(item.mTimeStamp ); -// line += csv.arg(NONE ); // removed during our meeting with Sean and Jahnavi 04/11/2022@16:00. line += csv.arg(item.mBloodFlowRate ,FLOAT3 ); line += csv.arg(item.mDialysateFlowRate ,FLOAT3 ); line += csv.arg(item.mUFRate ,FLOAT3 ); @@ -431,7 +429,7 @@ ADDTITLE("Treatment Alarms" ); for ( const TreatmentLogAlarmData &item : _treatmentLogAlarmData ) { QString line; - // TODO : QString alarmText = Model::MAlarmStatus::toText(static_cast(item.mAlarmID)); +// TODO : QString alarmText = Model::MAlarmStatus::toText(static_cast(item. )); line += csv.arg( item.mTimeStamp ); line += csv.arg( alarmTitle(item.mAlarmID )); line += csv.arg( item.mParam1 ); Index: sources/storage/TreatmentLog.h =================================================================== diff -u -raacca8cc53f5e4ff5abb6d7df3d5ad48c915645c -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/storage/TreatmentLog.h (.../TreatmentLog.h) (revision aacca8cc53f5e4ff5abb6d7df3d5ad48c915645c) +++ sources/storage/TreatmentLog.h (.../TreatmentLog.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -103,6 +103,7 @@ enum TreatmentLogIndex { ePatientID , + eSecondaryPatientID , eBloodFlowRate , eDialysateFlowRate , eTreatmentDuration , @@ -137,6 +138,7 @@ const QStringList _titles { tr("Patient ID" ), // ePatientID + tr("Secondary Patient ID" ), // eSecondaryPatientID tr("Blood Flow Rate" ), // eBloodFlowRate tr("Dialysate Flow Rate" ), // eDialysateFlowRate tr("Treatment Duration" ), // eTreatmentDuration @@ -170,6 +172,7 @@ const QStringList _units { "" , // ePatientID + "" , // eSecondaryPatientID _unitTextFlowRate , // eBloodFlowRate _unitTextFlowRate , // eDialysateFlowRate _unitTextDurationMin , // eTreatmentDuration @@ -252,7 +255,7 @@ void timerEvent(QTimerEvent *) override; public: - void initModel(const AdjustTreatmentLogResponseData &vData, const QString &vPatientID, bool vHeparinBolusVolumeOff, bool vHeparinDispensingRateOff); + void initModel(const AdjustTreatmentLogResponseData &vData, const QString &vPatientID, const QString &vSecondaryPatientID); void clearModel() { _values.clear(); for (int i = 0; i < eTreatmentLogIndexCount; i++) _values << ""; Index: sources/view/VTreatmentCreate.h =================================================================== diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020) +++ sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -105,6 +105,7 @@ VALUESET(float , ultrafiltrationVolume , 0) VALUESET(QString , patientID ,"") + VALUESET(QString , secondaryPatientID ,"") VALUESET(bool , parametersValidated , 0) PROPERTY(QString , txCode ,"") Index: sources/view/td/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.cpp =================================================================== diff -u -r3365ef23a278ef93f2bf6ff10b5637ad4f1b9d83 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/view/td/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.cpp (.../VPostTreatmentAdjustTreatmentLog.cpp) (revision 3365ef23a278ef93f2bf6ff10b5637ad4f1b9d83) +++ sources/view/td/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.cpp (.../VPostTreatmentAdjustTreatmentLog.cpp) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -66,7 +66,7 @@ adjustment_Reason ( vData.mReason ); // init the TreatmentLog model - _TreatmentLog.initModel ( vData, _patientID.trimmed(), heparinBolusVolumeOff(), heparinDispensingRateOff()); + _TreatmentLog.initModel ( vData, _patientID.trimmed(), _secondaryPatientID.trimmed()); // raw values bloodFlowRate ( vData.mBloodFlowRate ); Index: sources/view/td/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.h =================================================================== diff -u -re595a959b32e1bd1532b942481230a09496d6f08 -rdc8969f6c7bbdb46d2de22622e58e457ceb37df4 --- sources/view/td/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.h (.../VPostTreatmentAdjustTreatmentLog.h) (revision e595a959b32e1bd1532b942481230a09496d6f08) +++ sources/view/td/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.h (.../VPostTreatmentAdjustTreatmentLog.h) (revision dc8969f6c7bbdb46d2de22622e58e457ceb37df4) @@ -47,9 +47,6 @@ // and to always trigger the change event to work as a notifier for GUI TRIGGER( bool , adjustment , 0) - PROPERTY(bool , heparinDispensingRateOff , true) - PROPERTY(bool , heparinBolusVolumeOff , true) - PROPERTY(QString , patientID , 0 ) PROPERTY(QString , secondaryPatientID , 0 ) // TODO create rx enhancement - edit pencil on create rxs