' SPDX-FileCopyrightText: 2025 Bram Wesselo ' SPDX-FileCopyrightText: 2025 Roland Groen ' ' SPDX-License-Identifier: EUPL-1.2 @startuml localization-cardiologist-search title Localization of patient data skinparam roundcorner 20 skinparam defaultFontName Arial hide footbox !pragma teoz true actor "Dr. Smith\n(Cardiologist)" as doctor participant "EHR System @\n(Care Provider, URA:456)" as ehr participant "Localization Service" as nvi participant "Addressing Service" as addressing participant "EHR @\n(Care Provider)" as ehr_reg doctor -> ehr: Request data\n for patient (BSN:987654321) == Localization == note over nvi Required authorization attributes for GET: - Organization Identifier (URA:456) - OrganizationType: 2.16.840.1.113883.2.4.15.1060|V4 (Hospital) - Practitioner Identifier: Dr. Smith's UZI/DEZI - Role code: Professional role code (e.g., cardiologist) ' Use of **pseudonymized** patient identifier ' (pseudoBsn) is out of scope for this diagram end note ehr -> nvi: Search /DocumentReference?subject=bsn|987654321 loop for each DocumentReference found,\n using DocumentReference.content.attachment.url nvi -> ehr_reg: HEAD https://careprovider123.org/fhir/Patient/345fa-9076-9be4b\n (checking access for Cardiologist Smith at Care provider 456) return: return HTTP-status end nvi -> ehr: Bundle with DocumentReferences \ncontaining custodian's (URA's)\n that returned HTTP-status 200 OK. == Addressing and fetching data == loop for each custodian ehr -> addressing: Search /Organization?identifier=ura&_include=Organization:endpoint ehr -> ehr_reg: GET /Condition?subject=bsn|987654321 end ehr -> doctor: Display consolidated list of \nconditions to Dr. Smith @enduml