@startuml MainTreatmentScreenTimer participant TD as TD participant SW as SW participant UI as UI actor USER as US 'Possible actions and interaction types ' TD -> SW: MSG: Message ' SW -> UI: CMD: command ' UI -> UI: ACT: Action ' US -> UI: User actions are: ' ENT: User enters a value or string ' TCH: User touches a button (RadioButton, CheckBox, ...) ' SET: User sets/slides a slider ' SCL: User scrolls a flipable area ' 'Messages conventions: '[x \n ,] '[x \n ,# certain amount of parameters according to the content] '[x \n ,X The rest of the parameters do not matter.] == Main Treatment Screen TImer == TD -> SW: MSG: [x3B: #3] \nTD Treatment Time Data: \ \n\t(U32) txDurSecs \ \n\t(U32) txElapsedSec \ \n\t(U32) txRemainingSecs SW -> UI: CMD: Update Treatment Time (VTreatmentTime): \ \n\ttime_Total \ \n\ttime_Elapsed \ \n\ttime_Remaining US -> UI: TCH: Edit Button UI -> UI: ACT: Treatment Adjustment Duration Popup TD -> SW: MSG: [x3C: #10] \nTD Treatment States: \ \n\t(U32) mSubMode \ \n\t(U32) mBloodPrimeState \ \n\t(U32) mDialysateState \ \n\t(U32) mIsolatedUFState \ \n\t(U32) mTreatmentStopState \ \n\t(U32) mRinsebackState \ \n\t(U32) mRecirculateState \ \n\t(U32) mTreatmentEndState \ \n\t(U32) mSalineState \ \n\t(U32) mHeparinState SW -> UI: CMD: Paued State (VTDTreatmentStates):\nTREATMENT_PAUSED_STATE (txStop) UI -> UI: ACT: Visual Indication Treatment is Paused: \ \n\tNotification on Timer \ \n\tFade in/out effect of timer progress @enduml