@startuml CCForwardMessage
'layout
skinparam class {
BackgroundColor White
BorderColor Black
ArrowColor Black
}
hide circle
hide empty members
skinparam SameClassWidth true
skinparam Ranksep 10
'title
title Simplified example: Forward message
'Message 1: New message
package "Message 1: New message" as new <>{
class "Bundle 1" as newB {
Bundle.id = BUN1
Bundle.timestamp = 2021-12-03T14:00:10Z
...
}
class "MessageHeader 1" as newMH{
MessageHeader.id = MHID1
...
}
class "Sender Organization 1" as newSOrg{
...
}
class "Receiver Organization 1" as newROrg{
...
}
class "Communication 1" as newCom{
Communication.status = "unknown"
Communication.class = "medicine"
Communication.sent = 2021-12-03T14:00:00Z
Communication.payload.contentString = "Question regarding medicine"
Communication.payload.payloadDateTimeExtension = 2021-12-03T12:34:56Z
Communication.payload.payloadAuthorExtension = Practitioner/Prac1
...
}
class "Encounter 1" as newENC{
Encounter.status = "in-progress"
Encounter.class = "IMP"
...
}
class "Patient 1" as newPT{
...
}
class "Practitioner 1" as newPrac{
Practitioner.identifier = Prac1
...
}
class "PractitionerRole 1" as newPracR{
...
}
class "Provenance 1" as newPRO{
Provenance.target = MessageHeader/MHID1
Provenance.activity = "new-messsage"
Provenance.agent.who = "Sender Organization 1"
...
}
newB -[hidden]- newMH
newMH -[hidden]- newSOrg
newSOrg-[hidden]-newROrg
newROrg-[hidden]-newCom
newCom -[hidden]- newENC
newENC-[hidden]-newPT
newPT-[hidden]-newPrac
newPrac-[hidden]-newPracR
newPracR-[hidden]-newPRO
}
'Message 2: Forward message
package "Message 2: Forward message" as forward <>{
class "Bundle 2" as forwardB {
Bundle.id = BUN2
Bundle.timestamp = 2021-12-04T16:00:10Z
...
}
class "MessageHeader 2" as forwardMH{
MessageHeader.id = MHID2
...
}
class "Sender Organization 2" as forwardSOrg{
...
}
class "Reciver Organization 2" as forwardROrg{
...
}
class "Communication 1" as newforwardCom{
Communication.status = "unknown"
Communication.class = "medicine"
Communication.sent = 2021-12-04T16:00:00Z
Communication.payload[0].contentString = "Question regarding medicine..."
Communication.payload[0].payloadDateTimeExtension = 2021-12-03T12:34:56Z
Communication.payload[0].payloadAuthorExtension = Practitioner/Prac1
Communication.payload[1].contentString = "Forwarding this question to you, since..."
Communication.payload[1].payloadDateTimeExtension = 2021-12-04T15:10:01Z
Communication.payload[1].payloadAuthorExtension = Practitioner/Prac2
...
}
class "Encounter 1" as newforwardENC{
Encounter.status = "in-progress"
Encounter.class = "IMP"
...
}
class "Patient 1" as newforwardPT{
...
}
class "Practitioner 1" as newforwardPrac{
Practitioner.identifier = Prac1
...
}
class "PractitionerRole 1" as newforwardPracR{
...
}
class "Provenance 1" as newforwardPRO{
Provenance.target = MessageHeader/MHID1
Provenance.activity = "new-messsage"
Provenance.agent.who = "Sender Organization 1"
...
}
class "Practitioner 2" as forwardPrac{
Practitioner.identifier = Prac2
...
}
class "PractitionerRole 2" as forwardPracR{
...
}
class "Provenance 2" as forwardPRO{
Provenance.target = MessageHeader/MHID2
Provenance.activity = "forward-messsage"
Provenance.agent.who = "Sender Organization 1"
Provenance.entity.role = "quotation"
Provenance.entity.what.reference = MessageHeader/MHID1
...
}
forwardB -[hidden]- forwardMH
forwardMH -[hidden]- forwardSOrg
forwardSOrg-[hidden]-forwardROrg
forwardROrg-[hidden]-newforwardCom
newforwardCom -[hidden]- newforwardENC
newforwardENC-[hidden]-newforwardPT
newforwardPT-[hidden]-newforwardPrac
newforwardPrac-[hidden]-newforwardPracR
newforwardPracR-[hidden]-newforwardPRO
newforwardPRO-[hidden]-forwardPrac
forwardPrac-[hidden]-forwardPracR
forwardPracR-[hidden]-forwardPRO
}
' pile mellem de to beskeder
' admit --> finished
@enduml