@startuml skinparam NoteTextAlignment left skinparam Padding 2 skinparam ParticipantPadding 50 skinparam LifelineStrategy solid participant "FHIR Server" as S participant Subscriber as C group Normal Operation ... S -> C: Notification ""Bundle""\n""type: **event-notification**""\n""eventsSinceSubscriptionStart: **21**""\n""notificationEvent.eventNumber: **21**""\n return ""200: OK"" ... S -> C: Notification ""Bundle""\n""type: **event-notification**""\n""eventsSinceSubscriptionStart: **23**""\n""notificationEvent.eventNumber: **23**""\n return ""200: OK"" ... end note left of C Subscriber determines event **22** is missing end note group Subscriber Recovery Process ... C <-> S: FHIR API calls... ... end group Re-enable Subscription C -> S:Update Subscription\n""status: requested"" return ""200: OK"" ... end group Resume Normal Operation S -> C: Notification ""Bundle""\n""type: **event-notification**""\n""eventsSinceSubscriptionStart: **24**""\n""notificationEvent.eventNumber: **24**""\n return ""200: OK"" ... end @enduml