@startuml Ultrafiltration Adjustment 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 -> TD: MSG: Message ' SW -> UI: CMD: command ' UI -> SW: 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.] == Ultrafiltration - Open Ultrafiltration Adjustment Screen == US -> UI: TCH: Ultrafiltration Adjustment Button UI -> US: ACT: Open Ultrafiltration Adjustment Start Screen == Ultrafiltration - Pause == US -> UI: TCH: Pause Ultrafiltration Button UI -> SW: ACT: Pause Ultrafiltration SW -> TD: MSG: [x47: Req 0]\nUltrafiltration Pause/Resume Request alt accepted TD -> SW: MSG: [x48: Rsp 1, X]\nUltrafiltration Pause/Resume Response SW -> UI: CMD: Ultrafiltration Pause/Resume Adjustment Triggered UI -> US: ACT: Ultrafiltration Paused State else rejected TD -> SW: MSG: [x48: Rsp 0, rejectionReason]\nUltrafiltration Pause/Resume Response SW -> UI: CMD: Ultrafiltration Pause/Resume Adjustment Triggered UI -> US: ACT: Display Rejection Reason end == Ultrafiltration - Resume == US -> UI: TCH: Resume Ultrafiltration Button UI -> SW: ACT: Resume Ultrafiltration SW -> TD: MSG: [x47: Req 1]\nUltrafiltration Pause/Resume Request alt accepted TD -> SW: MSG: [x48: Rsp 1, X]\nUltrafiltration Pause/Resume Response SW -> UI: CMD: Ultrafiltration Pause/Resume Adjustment Triggered UI -> US: ACT: Ultrafiltration Resumed State else rejected TD -> SW: MSG: [x48: Rsp 0, rejectionReason]\nUltrafiltration Pause/Resume Response SW -> UI: CMD: Ultrafiltration Pause/Resume Adjustment Triggered UI -> US: ACT: Display Rejection Reason end == Ultrafiltration - Adjust Volume Goal == note over UI Ultrafiltration Paused State end note US -> UI: TCH: Edit UF Button UI -> US: ACT: Open Adjust Ultrafiltration Edit Screen US -> UI: SET: Change Ultrafiltration Volume Goal US -> UI: TCH: Continue Button UI -> SW: ACT: Adjust Ultrafiltration Volume Goal SW -> TD: MSG: [x41: Req ufVolumeMl]\nUltrafiltration Volume to Validate Request alt accepted TD -> SW: MSG: [x42: Rsp 1, X, ufVolume, durationMin, timeDiff, ufRate, rateDiff, oldUFRate]\nUltrafiltration Volume to Validate Response SW -> UI: CMD: Ultrafiltration Edit Adjustment Triggered UI -> US: ACT: Open Adjust Ultrafiltration Confirm US -> UI: TCH: Confirm Button UI -> SW: ACT: User Confirm Ultrafiltration Volume Goal Adjustment SW -> TD: MSG: [x66: Req volumeMl]\nUltrafiltration User Confirm Settings Change Request alt accepted TD -> SW: MSG: [x67: Rsp 1, X, volume, duration, rate]\nUltrafiltration User Confirm Settings Change Request SW -> UI: CMD: Confirmed Ultrafiltration Settings UI -> US: ACT: Close Adjust Ultrafiltration Confirm else rejected TD -> SW: MSG: [x67: Rsp 0, rejectedReason, X]\nUltrafiltration User Confirm Settings Change Request SW -> UI: CMD: Confirmed Ultrafiltration Settings UI -> US: ACT: Display Rejection Reason end else rejected TD -> SW: MSG: [x42: Rsp 0, rejectionReason, X]\nUltrafiltration Volume to Validate Response SW -> UI: CMD: Ultrafiltration Edit Adjustment Triggered UI -> US: ACT: Display Rejection Reason end @enduml