Index: dialin/hd/treatment.py =================================================================== diff -u -r9bc00e997e91dab8b404aa877b02ae3d4100d417 -r93b3c5cf09336f3033ccb495f95023c16579eb8c --- dialin/hd/treatment.py (.../treatment.py) (revision 9bc00e997e91dab8b404aa877b02ae3d4100d417) +++ dialin/hd/treatment.py (.../treatment.py) (revision 93b3c5cf09336f3033ccb495f95023c16579eb8c) @@ -79,6 +79,13 @@ SALINE_BOLUS_STATE_IN_PROGRESS = 2 # A saline bolus delivery is in progress SALINE_BOLUS_STATE_MAX_DELIVERED = 3 # Maximum saline bolus volume reached + # Dialyzer Re-Prime states + DIALYZER_REPRIME_STATE_DIALYSATE_PUMPS_OFF = 0 # Turn off dialysate pumps and wait for them to stop + DIALYZER_REPRIME_STATE_PURGE_PRIOR_1 = 1 # Purge air from an interrupted reprime + DIALYZER_REPRIME_STATE_PURGE_PRIOR_2 = 2 # Purge air from an interrupted reprime + DIALYZER_REPRIME_STATE_REPRIME = 3 # Remove air from dialyzer + DIALYZER_REPRIME_STATE_PURGE_LINES = 4 # Purge air from lines after repriming dialyzer + def __init__(self, can_interface, logger: Logger): """ HDTreatment constructor @@ -139,6 +146,7 @@ self.treatment_end_state = 0 self.treatment_stop_state = 0 self.dialysis_state = 0 + self.dialyzer_reprime_state = 0 # saline bolus status self.saline_bolus_max_vol = 0 self.saline_bolus_cum_vol = 0.0 @@ -325,6 +333,14 @@ """ return self.dialysis_state + def get_dialyzer_reprime_state(self) -> int: + """ + Gets the current treatment dialyzer re-prime state + + @return: The current treatment dialyzer re-prime state ID + """ + return self.dialyzer_reprime_state + def get_saline_bolus_max_volume(self) -> int: """ Returns maximum volume (in mL) saline that can be delivered to a patient @@ -507,7 +523,8 @@ "blood_prime_state", "treatment_end_state", "treatment_stop_state", - "dialysis_state" + "dialysis_state", + "dialyzer_reprime_state" ]) def _handler_treatment_state_sync(self, message, timestamp=0.0): """ @@ -538,6 +555,8 @@ message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9])) dia = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10])) + drp = struct.unpack('i', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11])) self.treatment_state = tst[0] self.treatment_uf_state = ufs[0] @@ -549,6 +568,7 @@ self.treatment_end_state = txe[0] self.treatment_stop_state = txs[0] self.dialysis_state = dia[0] + self.dialyzer_reprime_state = drp[0] self.hd_treatment_state_timestamp = timestamp @publish([