OZO FHIR implementation guide
0.6.3 - ci-build

OZO FHIR implementation guide - Local Development build (v0.6.3) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: OZO Client CapabilityStatement - JSON Representation

Active as of 2026-03-27

Raw json | Download

{
  "resourceType" : "CapabilityStatement",
  "id" : "OZO-Client",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: CapabilityStatement OZO-Client</b></p><a name=\"OZO-Client\"> </a><a name=\"hcOZO-Client\"> </a><h2 id=\"title\">OZO Client CapabilityStatement</h2><ul><li>Implementation Guide Version: 0.6.3 </li><li>FHIR Version: 4.0.1 </li><li>Supported Formats: <code>json</code>, <code>xml</code></li><li>Published on: 2026-03-27 </li><li>Published by: Headease </li></ul><blockquote class=\"impl-note\"><p><strong>Note to Implementers: FHIR Capabilities</strong></p><p>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.</p></blockquote><h2 id=\"rest\">FHIR RESTful Capabilities</h2><div class=\"panel panel-default\"><div class=\"panel-heading\"><h3 id=\"mode1\" class=\"panel-title\">Mode: <code>server</code></h3></div><div class=\"panel-body\"><div><p>Client 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.</p>\n</div></div></div><h3 id=\"resourcesCap1\">Capabilities by Resource/Profile</h3><h4 id=\"resourcesSummary1\">Summary</h4><p>The summary table lists the resources that are part of this configuration, and for each resource it lists:</p><ul><li>The relevant profiles (if any)</li><li>The interactions supported by each resource (<b><span class=\"bg-info\">R</span></b>ead, <b><span class=\"bg-info\">S</span></b>earch, <b><span class=\"bg-info\">U</span></b>pdate, and <b><span class=\"bg-info\">C</span></b>reate, are always shown, while <b><span class=\"bg-info\">VR</span></b>ead, <b><span class=\"bg-info\">P</span></b>atch, <b><span class=\"bg-info\">D</span></b>elete, <b><span class=\"bg-info\">H</span></b>istory on <b><span class=\"bg-info\">I</span></b>nstance, or <b><span class=\"bg-info\">H</span></b>istory on <b><span class=\"bg-info\">T</span></b>ype are only present if at least one of the resources has support for them.</li><li><span>The required, recommended, and some optional search parameters (if any). </span></li><li>The linked resources enabled for <code>_include</code></li><li>The other resources enabled for <code>_revinclude</code></li><li>The operations on the resource (if any)</li></ul><div class=\"table-responsive\"><table class=\"table table-condensed table-hover\"><thead><tr><th><b>Resource Type</b></th><th><b>Profile</b></th><th class=\"text-center\"><b title=\"GET a resource (read interaction)\">R</b></th><th class=\"text-center\"><b title=\"GET all set of resources of the type (search interaction)\">S</b></th><th class=\"text-center\"><b title=\"PUT a new resource version (update interaction)\">U</b></th><th class=\"text-center\"><b title=\"POST a new resource (create interaction)\">C</b></th><th><b title=\"Required and recommended search parameters\">Searches</b></th><th><code><b>_include</b></code></th><th><code><b>_revinclude</b></code></th><th><b>Operations</b></th></tr></thead><tbody><tr><td><a href=\"#Patient1-1\">Patient</a></td><td><a href=\"StructureDefinition-ozo-patient.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOPatient</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td/><td/><td/><td/></tr><tr><td><a href=\"#Practitioner1-2\">Practitioner</a></td><td><a href=\"StructureDefinition-ozo-practitioner.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOPractitioner</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td/><td/><td/><td/></tr><tr><td><a href=\"#RelatedPerson1-3\">RelatedPerson</a></td><td><a href=\"StructureDefinition-ozo-relatedperson.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZORelatedPerson</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td/><td/><td/><td/></tr><tr><td><a href=\"#CareTeam1-4\">CareTeam</a></td><td><a href=\"StructureDefinition-ozo-careteam.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOCareTeam</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td/><td/><td/><td/></tr><tr><td><a href=\"#CommunicationRequest1-5\">CommunicationRequest</a></td><td><a href=\"StructureDefinition-ozo-communicationrequest.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOCommunicationRequest</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\">y</td><td/><td/><td/><td/></tr><tr><td><a href=\"#Communication1-6\">Communication</a></td><td><a href=\"StructureDefinition-ozo-communication.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOCommunication</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\">y</td><td/><td/><td/><td/></tr><tr><td><a href=\"#Task1-7\">Task</a></td><td><a href=\"StructureDefinition-ozo-task.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOTask</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td/><td/><td/><td/></tr><tr><td><a href=\"#AuditEvent1-8\">AuditEvent</a></td><td><a href=\"StructureDefinition-ozo-auditevent.html\">http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOAuditEvent</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\">y</td><td/><td/><td/><td/></tr><tr><td><a href=\"#Subscription1-9\">Subscription</a></td><td>\u00a0</td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td/><td/><td/><td/></tr></tbody></table></div><hr/><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Patient1-1\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>Patient</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-patient.html\">OZO Patient</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Proxy auto-scopes to patients within the caller's CareTeam context.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Practitioner1-2\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>Practitioner</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-practitioner.html\">OZO Practitioner</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Proxy auto-scopes to practitioners within the caller's CareTeam context.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"RelatedPerson1-3\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>RelatedPerson</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-relatedperson.html\">OZO RelatedPerson</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Proxy auto-scopes to related persons within the caller's CareTeam context.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"CareTeam1-4\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>CareTeam</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-careteam.html\">OZO CareTeam</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Proxy auto-scopes to CareTeams where the caller is a participant or subject.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"CommunicationRequest1-5\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>CommunicationRequest</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-communicationrequest.html\">OZO CommunicationRequest</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>, <code>create</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Threads where the caller or their CareTeam is a recipient. Create requires requester = authenticated user.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Communication1-6\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>Communication</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-communication.html\">OZO Communication</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>, <code>create</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Messages in threads accessible to the caller. Create requires sender = authenticated user.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Task1-7\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>Task</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-task.html\">OZO Task</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Tasks owned by or assigned to the caller. Used as read/unread indicator.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"AuditEvent1-8\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>AuditEvent</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-ozo-auditevent.html\">OZO AuditEvent</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>, <code>create</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Audit events within the caller's access scope. Create requires agent[requestor=true].who = authenticated user.</p>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Subscription1-9\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: supported </span>Subscription</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/R4/subscription.html\">Subscription</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>search-type</code>, <code>create</code>, <code>update</code>.</li></ul></div></div><p/><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Subscriptions with criteria automatically rewritten by the proxy to scope to the caller's access. Uses notify-then-pull pattern (empty payload).</p>\n</div></blockquote></div></div></div></div></div></div>"
  },
  "url" : "http://ozoverbindzorg.nl/fhir/CapabilityStatement/OZO-Client",
  "version" : "0.6.3",
  "name" : "OZOClientCapabilityStatement",
  "title" : "OZO Client CapabilityStatement",
  "status" : "active",
  "experimental" : false,
  "date" : "2026-03-27",
  "publisher" : "Headease",
  "contact" : [
    {
      "name" : "Headease",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://headease.nl"
        }
      ]
    }
  ],
  "description" : "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.",
  "kind" : "instance",
  "fhirVersion" : "4.0.1",
  "format" : [
    "json",
    "xml"
  ],
  "rest" : [
    {
      "mode" : "server",
      "documentation" : "Client 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.",
      "resource" : [
        {
          "type" : "Patient",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOPatient",
          "documentation" : "Proxy auto-scopes to patients within the caller's CareTeam context.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ]
        },
        {
          "type" : "Practitioner",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOPractitioner",
          "documentation" : "Proxy auto-scopes to practitioners within the caller's CareTeam context.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ]
        },
        {
          "type" : "RelatedPerson",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZORelatedPerson",
          "documentation" : "Proxy auto-scopes to related persons within the caller's CareTeam context.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ]
        },
        {
          "type" : "CareTeam",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOCareTeam",
          "documentation" : "Proxy auto-scopes to CareTeams where the caller is a participant or subject.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ]
        },
        {
          "type" : "CommunicationRequest",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOCommunicationRequest",
          "documentation" : "Threads where the caller or their CareTeam is a recipient. Create requires requester = authenticated user.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            },
            {
              "code" : "create"
            }
          ]
        },
        {
          "type" : "Communication",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOCommunication",
          "documentation" : "Messages in threads accessible to the caller. Create requires sender = authenticated user.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            },
            {
              "code" : "create"
            }
          ]
        },
        {
          "type" : "Task",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOTask",
          "documentation" : "Tasks owned by or assigned to the caller. Used as read/unread indicator.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            }
          ]
        },
        {
          "type" : "AuditEvent",
          "profile" : "http://ozoverbindzorg.nl/fhir/StructureDefinition/OZOAuditEvent",
          "documentation" : "Audit events within the caller's access scope. Create requires agent[requestor=true].who = authenticated user.",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            },
            {
              "code" : "create"
            }
          ]
        },
        {
          "type" : "Subscription",
          "documentation" : "Subscriptions with criteria automatically rewritten by the proxy to scope to the caller's access. Uses notify-then-pull pattern (empty payload).",
          "interaction" : [
            {
              "code" : "read"
            },
            {
              "code" : "search-type"
            },
            {
              "code" : "create"
            },
            {
              "code" : "update"
            }
          ]
        }
      ]
    }
  ]
}