@startuml !pragma teoz true Title PSS Functional data exchange hide footbox group #DFE Service 1 - Given existing data, query the structured list of applicable indications EPD -> PSS : \n**POST /PlanDefinition/GetDiagnoses/$apply**\n Payload:\n subject=Y\n data=Bundle & PSS -> QSI & PSS -[hidden]-> QSI : " " 'PSS -> QSI : GET /indictions activate PSS activate QSI QSI -> PSS & PSS -> EPD: Propose Indications deactivate PSS deactivate QSI ||| end ... group #def Service 2 - Given indications, query data to collect EPD -> PSS : \n**POST /PlanDefinition/GetDataToCollect/$apply**\n Payload:\n subject=Y\n data=Bundle Activate PSS PSS -> EPD: Propose data to collect deactivate PSS ||| end ... group #fed Service 3 - Given some data (+ a procedure), request recommended procedures EPD -> PSS : \n**POST /PlanDefinition/GetRecommendations/$apply**\n Payload:\n subject=Y\n data=Bundle & PSS --> QSI & PSS -[hidden]-> QSI : " " activate PSS activate QSI QSI --> PSS & PSS -> EPD: Bundle with RequestGroup with options deactivate PSS deactivate QSI ||| end @enduml