Localization Structure
(c) Stichting Decentrale Communicatie in de Zorg (Decozo), 2026.
Distribution of this documentation other than via the Decozo website decozo.org is not allowed, see https://drafts.decozo.org/docs/licentie (in Dutch) for more information.
This page is part of the Push authorisation (PA) documentation. It describes the structure of a Localization Structure (LS) as exchanged through PA-URLs.
It does not describe how localization structures are created, managed, or registered. It only defines the document structure that a source returns when a PA-URL refers to an indirect reference.
Concept
A localization structure is a document that contains a set of PA-URLs.
Instead of pointing directly to a single source document, a PA-URL can point to an indirect reference. The indirect reference is resolved by fetching the localization structure. The recipient then processes the PA-URLs listed in that structure.
This allows one authorization to represent a collection of source references, for example a set of records for the same patient that are held by different systems or that use different document types.
The PA-URL schema itself is described separately in the Decozo draft: https://drafts.decozo.org/docs/push-authorization-schema.
Indirect Reference PA-URL
A localization structure is retrieved through a PA-URL whose document type indicates an indirect reference.
For example:
https://dvpa-s.example.test/mdlink-rc0/8f3a9c4d1e2f4567890abcdeffedcba0/r:dtype=INDIR-REF/r:dformat=JSON/expiry=1767225600
The exact PA-URL path format is defined by the PA-URL schema. For localization structures, the important semantic property is that the PA-URL identifies an indirect reference rather than a regular source document.
JSON Structure
A localization structure is represented as JSON.
{
"id": "localization-structure-123",
"urls": [
"https://dvpa-s-a.example.test/mdlink-rc0/11111111111111111111111111111111/r:dtype=PS%2BAMO/r:dformat=MEDEUR/expiry=1767225600",
"https://dvpa-s-b.example.test/mdlink-rc0/22222222222222222222222222222222/r:dtype=AMH/r:dformat=MEDEUR/expiry=1767225600"
]
}
Fields
- id (string) required
Identifier of this localization structure. The identifier is assigned by the source that serves the localization structure. - urls ([]string) required
List of PA-URLs contained in the localization structure. Each URL is an independent PA-URL and must be processed according to the PA-URL API and the PA-URL schema.
URL Semantics
Each entry in urls is a complete PA-URL.
Clients MUST treat every URL as an opaque authorization endpoint. Clients MUST NOT rewrite, reorder, normalize, or otherwise modify the path segments of these URLs.
Each PA-URL in the list can point to a different source system. Each PA-URL has its own document type, document format, expiry, binding rules, and policy.
The localization structure itself does not grant access to the underlying documents independently of the PA-URLs it contains. Access to each referenced document is still governed by the policy and binding rules of that specific PA-URL.
Processing Model
A recipient processes a localization structure as follows:
- Retrieve the indirect-reference PA-URL.
- Parse the returned JSON object.
- Iterate over the
urlsarray. - For each URL, treat it as an independent PA-URL.
- Use the PA-URL API to fetch the document or perform allowed actions.
A recipient may store the contained PA-URLs as separate authorizations. In that case, each contained PA-URL should keep its own metadata derived from the PA-URL and from any metadata supplied alongside the original authorization flow.
Example Flow
The recipient receives an indirect-reference PA-URL:
https://dvpa-s.example.test/mdlink-rc0/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/r:dtype=INDIR-REF/r:dformat=JSON/expiry=1767225600
The recipient retrieves it:
GET /mdlink-rc0/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/r:dtype=INDIR-REF/r:dformat=JSON/expiry=1767225600
Host: dvpa-s.example.test
The source returns the localization structure:
200 OK
Content-Type: application/json
{
"id": "locstruct-2026-001",
"urls": [
"https://dvpa-s-gp.example.test/mdlink-rc0/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/r:dtype=PS%2BAMO/r:dformat=MEDEUR/expiry=1767225600",
"https://dvpa-s-pharmacy.example.test/mdlink-rc0/cccccccccccccccccccccccccccccccc/r:dtype=AMH/r:dformat=MEDEUR/expiry=1767225600"
]
}
The recipient then treats both URLs as separate PA-URLs:
GET /mdlink-rc0/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/r:dtype=PS%2BAMO/r:dformat=MEDEUR/expiry=1767225600
Host: dvpa-s-gp.example.test
GET /mdlink-rc0/cccccccccccccccccccccccccccccccc/r:dtype=AMH/r:dformat=MEDEUR/expiry=1767225600
Host: dvpa-s-pharmacy.example.test
Notes
The order of URLs in the urls array does not imply priority.
A localization structure may contain PA-URLs issued by the same source as the localization structure, or copied PA-URLs that point to other sources.