/************************************************************************** * * Copyright (c) 2020-2025 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file Dialysis.h * * @author (last) Dara Navaei * @date (last) 05-Nov-2024 * * @author (original) Sean * @date (original) 15-Jan-2020 * ***************************************************************************/ #ifndef __DIALYSIS_H__ #define __DIALYSIS_H__ #include "HDCommon.h" #include "HDDefs.h" #include "DGInterface.h" /** * @defgroup Dialysis Dialysis * @brief Dialysis sub-mode of treatment mode. The dialysis sub-mode is where * dialysis and (optionally) ultrafiltration are being provided by the system. * Heparin is added to the blood when appropriate. A saline bolus may be requested * by the user; however, dialysis and ultrafiltration would not be provided during * a saline bolus. * * @addtogroup Dialysis * @{ */ // ********** public definitions ********** // ********** public function prototypes ********** void initDialysis( void ); void resetUF( void ); void transitionToDialysis( void ); void execDialysis( void ); void setDialysisBloodPumpFlowRate( U32 bPFlow ); void setDialysisDialInFlowAndUFRate( U32 dPFlow, F32 maxUFVol, F32 uFRate ); void stopDialysis( void ); void startHeparinPump( void ); DIALYSIS_STATE_T getDialysisState( void ); UF_STATE_T getUltrafiltrationState( void ); BLOOD_LEAK_ZEROING_STATE_T getBloodLeakZeroingState( void ); F32 getUltrafiltrationVolumeCollected( void ); F32 getUltrafiltrationReferenceVolume( void ); BOOL pauseUF( void ); BOOL resumeUF( void ); void updateReservoirVolumes( F32 res1Vol, F32 res2Vol ); void setStartReservoirVolume( DG_RESERVOIR_ID_T reservoirID ); void signalReservoirsSwitched( void ); void setFinalReservoirVolume( void ); F32 getReservoirUltrafiltrationVol( DG_RESERVOIR_ID_T reservoirID ); DIALYSIS_STATE_T execBloodLeakZeroing( void ); void requestBloodLeakZeroing( BOOL isRequestFromTreatmentStop ); void resetBloodLeakZeroingVariables( void ); /**@}*/ #endif