@startuml skin rose autonumber "[#]" hide footbox skinparam responseMessageBelowArrow true skinparam sequenceMessageAlign direction skinparam sequenceGroupBorderThickness 1 title 2. Update Patient actor Clinician participant "WebPas\nPatient Admin" as WebPAS participant "HL7 v2\nHub & Spoke" as HL7 participant "FHIR API\nIntegration Hub" as HUB participant "API Client\n(ConnectedCare, Scope, etc)" as CLIENT note right of CLIENT **PreConditions** 1. Have valid API AccessToken 2. Subscribed to Patient Resource Updates end note group #azure Cache HL7 Message Clinician -> WebPAS: Patient Data Update activate HUB #lavender WebPAS -> HL7: HL7 ADT A31 HL7 -> HUB: HL7 ADT A31 HUB -> HUB: mapToFHIRandValidate() HUB -> HUB: saveResources() deactivate HUB HUB --> HL7: ack/nak end ... ... note right of CLIENT **Callback Payload Options** 1. PUT - callback/Patient/{id} - single resource payload 2. POST - callback - multi-resource bundle end note group #azure Notify Resource Update HUB -> CLIENT: PUT or POST /fhir/callback activate CLIENT #lavender CLIENT -> CLIENT: processCallback() return ack/nak deactivate HUB end Clinician -> CLIENT: Act on Patent Data Update @enduml