@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