OZO FHIR implementation guide
0.9.0 - ci-build
OZO FHIR implementation guide - Local Development build (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: http://ozoverbindzorg.nl/fhir/CapabilityStatement/OZO-Client | Version: 0.9.0 | |||
| Active as of 2026-10-01 | Computable Name: OZOClientCapabilityStatement | |||
Authenticated client access to the OZO FHIR API for Practitioner, RelatedPerson, and Patient roles. All three roles share the same interactions — the AAA proxy transparently scopes access by rewriting search queries based on the caller's credentials and CareTeam memberships. Write operations validate that the sender/requester is the authenticated user.
Raw OpenAPI-Swagger Definition file | Download
json, xmlNote to Implementers: FHIR Capabilities
Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.
serverClient access for Practitioner, RelatedPerson, and Patient roles. The AAA proxy automatically filters all search results based on the caller's identity and CareTeam memberships. Write operations validate that the sender/requester is the authenticated user. See the CapabilityStatements documentation page for per-role scoping details.
The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include_revincluderead, search-type.Proxy auto-scopes to patients within the caller's CareTeam context.
read, search-type.Proxy auto-scopes to practitioners within the caller's CareTeam context.
read, search-type.Proxy auto-scopes to related persons within the caller's CareTeam context.
read, search-type.Proxy auto-scopes to CareTeams where the caller is a participant or subject.
read, search-type, create.Threads in which the caller or one of their CareTeams is a party: addressed in recipient or initiating team in extension[senderCareTeam] (proxy scopes on the participant search parameter). Create requires requester = authenticated user; extension[senderCareTeam] must be an organizational CareTeam the caller participates in and should not be repeated in recipient (the 0.8.x duplicate is accepted in 0.9.0 with a validation warning).
| Conformance | Parameter | Type | Documentation |
|---|---|---|---|
| SHALL | participant | reference | Threads in which the given party takes part: recipient or extension[senderCareTeam] (custom OZO union search parameter). The proxy adds this parameter to every client search. |
| SHALL | sender-careteam | reference | Threads initiated by the given CareTeam (custom OZO search parameter on extension[senderCareTeam]). |
read, search-type, create.Messages in threads accessible to the caller (proxy scopes on part-of:CommunicationRequest.participant). Create requires sender = authenticated user; when the sender participates in an organizational team of the thread, extension[senderCareTeam] should name that team (inferred in 0.9.0 when absent, required from the next release).
read, search-type.Tasks owned by the caller or by one of the caller's organizational CareTeams (team inbox state). Used as read/unread indicator.
read, search-type, create.Audit events within the caller's access scope. Create requires agent[requestor=true].who = authenticated user; on a read receipt in a team thread agent.extension[careTeam] should name one of the caller's organizational teams in that thread (inferred in 0.9.0 when absent, required from the next release).
read, search-type, create, update.Subscriptions with criteria automatically rewritten by the proxy to scope to the caller's access. Uses notify-then-pull pattern (empty payload).