@startuml MainTreatmentScreen participant TD as TD participant SW as SW participant UI as UI 'Possible actions and interaction tuypes ' 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.] == Tx Time == TD -> SW: MSG: [x3B: #3] \nTD Treatment Time Data:\n(U32) txDurSecs\n(U32) txElapsedSec\n(U32) txRemainingSecs SW -> UI: CMD: Update Treatment Time:\n(U32) txDurSecs\n(U32) txElapsedSec\n(U32) txRemainingSecs == Parameter Ranges == TD -> SW: MSG: [x43: #6] \nTD Treatment Param Ranges:\n(U32) minTreatmentTime\n(U32) maxTreatmentTime\n(F32) minUFVolume\n(F32) maxUFVolume\n(U32) minDialRate\n(U32) maxDialRate SW -> UI: CMD: Update Param Ranges:\n(U32) minTreatmentTime\n(U32) maxTreatmentTime\n(F32) minUFVolume\n(F32) maxUFVolume\n(U32) minDialRate\n(U32) maxDialRate == Tx Parameter set points == TD -> SW: MSG: [x4F: #3] \nTD treatment Set Points Data\n(U32) bloodFlow\n(U32) dialFlow\n(F32) dialTemp SW -> UI: CMD: Update TX Set Points Data:\n(U32) bloodFlow\n(U32) dialFlow\n(F32) dialTemp !include common_puml/Saline_Bolus_Data.puml !include common_puml/Vitals_Data.puml == Ultrafiltration == TD -> SW: MSG: [x3E: #4] \nTD Ultrafiltration Status Data\n(F32) setVolL\n(F32) tgtRateLHr\n(F32) volDelL\n(U32) ufState SW -> UI: CMD: Update UF Status\n(F32) setVolL\n(F32) tgtRateLHr\n(F32) volDelL\n(U32) ufState == Pressures == TD -> SW: MSG: [x24: #12] \nTD Pressures Data\n(F32) artPress, \n(F32) venPres\n(U32) limitState\n(S32) artMin\n(S32) artMax\n(S32) venMin\n(s32) venMax\n(F32) artLong\n(U32) venLong\n(F32) tmpPress\n(F32) tmpMin\n(F32) tmpMax SW -> UI: CMD: Update TD Pressures\n(F32) artPress, \n(F32) venPres\n(U32) limitState\n(S32) artMin\n(S32) artMax\n(S32) venMin\n(s32) venMax\n(F32) artLong\n(U32) venLong\n(F32) tmpPress\n(F32) tmpMin\n(F32) tmpMax == Dialysate Conductivity == TD -> SW: MSG: [x1F: #5] \nDD Conductivity Data\n(F32) d17Cond\n(F32) d27Cond\n(F32) d29Cond\n(F32) d43Cond\n(F32) d74Cond SW -> UI: CMD: Update Dial Conductivity\n(F32) d17Cond\n(F32) d27Cond\n(F32) d29Cond\n(F32) d43Cond\n(F32) d74Cond == Gen Dialysate Mode == TD -> SW: MSG: [x2F: #9] \nDD GenD Mode Data\n(U32) GenDialisateExec\n(U32) isDDinProg\n(U32) d6level\n(U32) d63level\n(U32) d46level\n(F32) d9Pressure\n(F32) d18pressure\n(F32) d51pressure\n(U32) isDialGood SW -> UI: CMD: Update GenD Mode Data\n(U32) GenDialisateExec\n(U32) isDDinProg\n(U32) d6level\n(U32) d63level\n(U32) d46level\n(F32) d9Pressure\n(F32) d18pressure\n(F32) d51pressure\n(U32) isDialGood @enduml