...
For all user generated connect messages from a patient registry to an donor registry or vice versa the generic message flow consists of the message sent (e.g. a Sample Request) and a corresponding message response (6.2). This default The detailed message flow for such a message plus generic answer is shown in the message flow below, but below. The generic response message will be ommited for better readability in later request message flows in chapter 5, for better readability.
For further details on the message response itself see chapter 6.2.
The message flow below also shows the direct answer to an API call (for simplicity only 200 and 400 are shown).
| PlantUML Macro | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
participant "Patient Registry" as PR
control "Match-Connect" as MC
control "Search & Match\nService" as SM
participant "Donor Registry" as DR
skinparam SequenceMessageAlign center
skinparam dpi 92
== Sending a user generated message ==
PR -[#dodgerblue]> DR : Send 'Message A'
group details
DR -[#dodgerblue]> MC : Call /availableMessages to check for not-picked up messages
MC -> DR : 200 OK - Array of messages not yet delivered (emtpy)
MC -> DR : 400 Bad Request
PR -[#dodgerblue]> MC : Call respective Request-API to send 'Message A'
MC -> PR : 200 OK
MC -> PR : 400 Bad Request
DR -[#dodgerblue]> MC : Call /availableMessages to check for not-picked up messages
MC -> DR : 200 OK - Array of messages not yet delivered ('Message A')
MC -> DR : 400 Bad Request
DR -[#dodgerblue]> MC : Call respective Response-API to picked up 'Message A'
MC -> DR : 200 OK
MC -> DR : 400 Bad Request
end
== Providing the defaultgeneric response ==
DR -[#dodgerblue]> PR : Message response (ack, reject, warning to 'Message A') \nshould always include messageId of referring message
group details
PR -[#dodgerblue]> MC : Call /availableMessages to check for not-picked up messages
MC -> PR : 200 OK - Array of messages not yet delivered (emtpy)
MC -> PR : 400 Bad Request
DR -[#dodgerblue]> MC : Call /messageResponse API to send the generic response to 'Message A'
MC -> DR : 200 OK
MC -> DR : 400 Bad Request
PR -[#dodgerblue]> MC : Call /availableMessages to check for not-picked up messages
MC -> PR : 200 OK - Array of messages not yet delivered (generic response to 'Message A')
MC -> PR : 400 Bad Request
PR -[#dodgerblue]> MC : Call /messageResponseRetrieve API to pick up the generic response to 'Message A'
MC -> PR : 200 OK
MC -> PR : 400 Bad Request
end
|
...