<?xml version="1.0" encoding="UTF-8"?>

<CapabilityStatement xmlns="http://hl7.org/fhir">
  <id value="WOFPortalCapabilityStatement"/>
  <text>
    <status value="extensions"/><div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: CapabilityStatement WOFPortalCapabilityStatement</b></p><a name="WOFPortalCapabilityStatement"> </a><a name="hcWOFPortalCapabilityStatement"> </a><h2 id="title">WOF Portal Capability Statement</h2><ul><li>Implementation Guide Version: 1.0.0 </li><li>FHIR Version: 4.0.1 </li><li>Supported Formats: <code>json</code>, <code>xml</code></li><li>Published on: 2026-02-02 12:00:00+0000 </li><li>Published by: Service Well AB </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><p>This CapabilityStatement instantiates the CapabilityStatement <a href="https://profiles.ihe.net/ITI/Scheduling/1.0.0/CapabilityStatement-IHE.Scheduling.server.html">IHE Scheduling Serverversion: 1.0.0)</a></p><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 class="row"><div class="col-12"><span class="lead">Summary of System-wide Operations</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Operation</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="OperationDefinition-get-offers-context.html">$getOffersContext</a></td><td><div><p>Returns enriched offer context for presentation and selection. Invoked as [base]/$get-offers-context</p>
</div></td></tr></tbody></table></div></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="#ActivityDefinition1-1">ActivityDefinition</a></td><td>Supported Profiles<br/>  <a href="StructureDefinition-activity-definition-portal.html">ActivityDefinitionPortal</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><code>$get-offers-context</code></td></tr><tr><td><a href="#HealthcareService1-2">HealthcareService</a></td><td>Supported Profiles<br/>  <a href="StructureDefinition-healthcare-service-portal.html">HealthcareServicePortal</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><code>$get-offers-context</code></td></tr><tr><td><a href="#PractitionerRole1-3">PractitionerRole</a></td><td>Supported Profiles<br/>  <a href="StructureDefinition-practitioner-role-portal.html">PractitionerRolePortal</a></td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center"/><td class="text-center"/><td>service</td><td/><td/><td><code>$get-offers-context</code></td></tr><tr><td><a href="#Patient1-4">Patient</a></td><td>Supported Profiles<br/>  <a href="StructureDefinition-portal-patient.html">Portal Patient</a><br/>  <code>http://hl7.se/fhir/ig/base/StructureDefinition/SEBasePatient</code></td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center"/><td class="text-center"/><td>identifier</td><td/><td/><td/></tr><tr><td><a href="#Organization1-5">Organization</a></td><td>Supported Profiles<br/>  <a href="StructureDefinition-service-provider-portal.html">ServiceProviderPortal</a></td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center"/><td class="text-center"/><td>_id, identifier</td><td/><td/><td/></tr><tr><td><a href="#Appointment1-6">Appointment</a></td><td>Supported Profiles<br/>  <a href="StructureDefinition-portal-appointment.html">Appointment Portal</a><br/>  <a href="StructureDefinition-portal-available-appointment.html">Available Appointment Portal</a></td><td class="text-center">y</td><td class="text-center">y</td><td class="text-center"/><td class="text-center"/><td>actor</td><td/><td/><td><code>$find</code>, <code>$book</code></td></tr><tr><td><a href="#Location1-7">Location</a></td><td> </td><td class="text-center"/><td class="text-center">y</td><td class="text-center"/><td class="text-center"/><td>physical-type</td><td/><td/><td/></tr></tbody></table></div><hr/><div class="panel panel-default"><div class="panel-heading"><h4 id="ActivityDefinition1-1" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>ActivityDefinition</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/activitydefinition.html">ActivityDefinition</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>.</li></ul></div></div><p/><div class="row"><div class="col-6"><span class="lead">Supported Profiles</span><p><a href="StructureDefinition-activity-definition-portal.html">ActivityDefinitionPortal</a></p></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Represents shared service concepts identified by code.</p>
</div></blockquote></div></div><div class="row"><div class="col-12"><span class="lead">Extended Operations</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Operation</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="OperationDefinition-get-offers-context.html">$get-offers-context</a></td><td><div><p>Returns enriched offer context for presentation and selection.<br/>
Invoked as [base]/ActivityDefinition/[id]/$get-offers-context</p>
</div></td></tr></tbody></table></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="HealthcareService1-2" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>HealthcareService</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/healthcareservice.html">HealthcareService</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>.</li></ul></div></div><p/><div class="row"><div class="col-6"><span class="lead">Supported Profiles</span><p><a href="StructureDefinition-healthcare-service-portal.html">HealthcareServicePortal</a></p></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Represents where healthcare services are performed.</p>
</div></blockquote></div></div><div class="row"><div class="col-12"><span class="lead">Extended Operations</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Operation</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="OperationDefinition-get-offers-context.html">$get-offers-context</a></td><td><div><p>Returns enriched offer context for presentation and selection.<br/>
Invoked as [base]/HealthcareService/[id]/$get-offers-context</p>
</div></td></tr></tbody></table></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="PractitionerRole1-3" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>PractitionerRole</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/practitionerrole.html">PractitionerRole</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>.</li></ul></div></div><p/><div class="row"><div class="col-6"><span class="lead">Supported Profiles</span><p><a href="StructureDefinition-practitioner-role-portal.html">PractitionerRolePortal</a></p></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Represents practitioners acting in specific operational and financial contexts.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td>service</td><td><code>reference</code></td><td><div><p>Filter by PractitionerRole.service (Reference to HealthcareService).</p>
</div></td></tr></tbody></table></div><div class="col-lg-5"> </div></div><div class="row"><div class="col-12"><span class="lead">Extended Operations</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Operation</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="OperationDefinition-get-offers-context.html">$get-offers-context</a></td><td><div><p>Returns enriched offer context for presentation and selection.<br/>
Invoked as [base]/PractitionerRole/[id]/$get-offers-context</p>
</div></td></tr></tbody></table></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Patient1-4" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>Patient</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/patient.html">Patient</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>.</li></ul></div></div><p/><div class="row"><div class="col-6"><span class="lead">Supported Profiles</span><p><a href="StructureDefinition-portal-patient.html">Portal Patient</a><br/><code>http://hl7.se/fhir/ig/base/StructureDefinition/SEBasePatient</code></p></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Represents patients within the WOF Portal, conforming to the PortalPatient profile.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td>identifier</td><td><code>token</code></td><td><div><p>Search by personal number using system|value.</p>
</div></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Organization1-5" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>Organization</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/organization.html">Organization</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>.</li></ul></div></div><p/><div class="row"><div class="col-6"><span class="lead">Supported Profiles</span><p><a href="StructureDefinition-service-provider-portal.html">ServiceProviderPortal</a></p></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Organizations in WOF Portal MAY conform to multiple profiles, representing different organizational roles.</p>
<p>ServiceProvider represents the top-level owning organization (tenant) within the platform.
BillingOrganization represents financial responsibility and ownership of invoicing and reporting.</p>
<p>Organizations are not exposed as searchable catalogs.
They are resolved using stable identifiers only:</p>
<ul>
<li>resource id</li>
<li>organization number (identifier)</li>
</ul>
<p>Clients MAY filter by profile when needed (e.g. using _profile),
but profile-based filtering is not required for lookup by id or identifier.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td>_id</td><td><code>token</code></td><td><div><p>Search by Organization resource id.</p>
</div></td></tr><tr><td><b>SHALL</b></td><td>identifier</td><td><code>token</code></td><td><div><p>Search by organization number using system|value.</p>
</div></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Appointment1-6" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>Appointment</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/appointment.html">Appointment</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>.</li></ul></div></div><p/><div class="row"><div class="col-6"><span class="lead">Supported Profiles</span><p><a href="StructureDefinition-portal-appointment.html">Appointment Portal</a><br/><a href="StructureDefinition-portal-available-appointment.html">Available Appointment Portal</a></p></div></div><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Appointment access in WOF Portal.</p>
<ul>
<li><code>PortalAppointment</code> — represents a booked appointment in a patient context.</li>
<li><code>PortalAvailableAppointment</code> — represents an available appointment returned by <code>$find</code>.</li>
</ul>
<p>Supports filtering by actor (e.g., HealthcareService/{id}) and IHE Scheduling operations.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td>actor</td><td><code>reference</code></td><td><div><p>Filter appointments by participant actor (e.g., HealthcareService/{id}).</p>
</div></td></tr></tbody></table></div><div class="col-lg-5"> </div></div><div class="row"><div class="col-12"><span class="lead">Extended Operations</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Operation</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td><a href="OperationDefinition-FindAppointments.html">$find</a></td><td><div><p>Search for available appointment opportunities using $find (IHE ITI Scheduling).</p>
</div></td></tr><tr><td><b>SHALL</b></td><td><a href="OperationDefinition-BookAppointment.html">$book</a></td><td><div><p>Create, modify, or cancel an appointment using $book (IHE ITI Scheduling).</p>
</div></td></tr></tbody></table></div></div></div></div></div><div class="panel panel-default"><div class="panel-heading"><h4 id="Location1-7" class="panel-title"><span style="float: right;">Resource Conformance: unspecified </span>Location</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/location.html">Location</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>search-type</code>.</li></ul></div></div><p/><p/><div class="row"><div class="col-12"><span class="lead">Documentation</span><blockquote><div><p>Portal-scoped locations used as areas. Supported interaction: search.</p>
</div></blockquote></div></div><div class="row"><div class="col-lg-7"><span class="lead">Search Parameters</span><table class="table table-condensed table-hover"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td>physical-type</td><td><code>token</code></td><td><div><p>Filter by Location.physicalType (e.g., Area).</p>
</div></td></tr></tbody></table></div><div class="col-lg-5"> </div></div></div></div></div></div>
  </text>
  <url value="https://canonical.fhir.link/servicewell/wof-portal/CapabilityStatement/WOFPortalCapabilityStatement"/>
  <version value="1.0.0"/>
  <name value="WOFPortalCapabilityStatement"/>
  <title value="WOF Portal Capability Statement"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2026-02-02T12:00:00+00:00"/>
  <publisher value="Service Well AB"/>
  <contact>
    <name value="Service Well AB"/>
    <telecom>
      <system value="url"/>
      <value value="https://servicewell.se"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="info@servicewell.se"/>
    </telecom>
  </contact>
  <contact>
    <name value="Service well"/>
    <telecom>
      <system value="email"/>
      <value value="info@servicewell.se"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description value="This CapabilityStatement defines the canonical domain model and API principles of the **WOF Portal** owned and operated by Service Well AB."/>
  <purpose value="&#xA;**IHE Scheduling:** This server instantiates *IHE.Scheduling.server* (v1.0.0).&#xA;&#xA;## Layering principle&#xA;- **WOF Connect** defines vendor-facing interoperability contracts.&#xA;- **WOF Portal** builds on WOF Connect to provide a single, enriched, canonical API.&#xA;&#xA;## Domain separation principles&#xA;- **ActivityDefinition** represents a shared service concept and SHALL be identified by code, not by resource id.&#xA;- **HealthcareService** represents where care is performed.&#xA;- **BillingOrganization** represents financial responsibility and is independent of service location.&#xA;- **PractitionerRole** represents a practitioner acting in a specific operational and financial context.&#xA;&#xA;## Many-to-many relationships are intentional&#xA;- A HealthcareService MAY be associated with multiple BillingOrganizations.&#xA;- A BillingOrganization MAY provide services at multiple HealthcareServices.&#xA;- A Practitioner MAY have multiple PractitionerRoles across services and billing contexts.&#xA;&#xA;## Offer and availability principles&#xA;- **Offer** represents a computed, context-specific view combining ActivityDefinition,&#xA;    HealthcareService, and PractitionerRole.&#xA;- Offer is intended for presentation and selection, not for scheduling.&#xA;- Actual bookability requires downstream slot or availability checks.&#xA;&#xA;## Integration principle&#xA;- External systems integrate with the platform by implementing **WOF Connect**.&#xA;- WOF Portal APIs MAY return enriched and aggregated views not available in WOF Connect.&#xA;&#xA;This CapabilityStatement documents the canonical behavior of the WOF Portal API.&#xA;&#xA;## Client interaction overview&#xA;The following diagram illustrates outbound API calls from a patient-facing client&#xA;to the WOF Portal Proxy. It represents actual usage patterns and supported interactions.&#xA;&#xA;Theres currently two domains for our dev-api:  &#xA;```&#xA;- **api.wellonfhir.se/{{tenant}}/1.0/R4**      - Swedish developmnent environment&#xA;- **api-no.wellonfhir.se/{{tenant}}/1.0/R4**   - Norwegian development environment&#xA;```&#xA;&#xA;&lt;small&gt; tenant is a stable identifier for the organization&lt;/small&gt;&#xA;&#xA;Both Requires [authentication](./get-started.html#authentication-and-security)&#xA;&#xA;&#xA;Client → WOF-PORTAL:&#xA;&#xA;&lt;style&gt;&#xA;    .mermaid {&#xA;        min-height: 640px;&#xA;        width: 100%;&#xA;        max-width: 1600px;&#xA;        margin: 0 auto;&#xA;    }&#xA;&#xA;    .mermaid svg {&#xA;        width: 100%;&#xA;        height: auto;&#xA;    }&#xA;&lt;/style&gt;&#xA;&#xA;```mermaid&#xA;%%{init: {'theme':'neutral','securityLevel':'loose','fontFamily':'Inter, Arial, sans-serif','sequence': {'diagramMarginX': 30, 'diagramMarginY': 20, 'actorMargin': 220, 'width': 180, 'messageMargin': 32, 'mirrorActors': false, 'wrap': true}}}%%sequenceDiagram&#xA;    participant Client as Scheduling Client&#xA;    participant Auth as Auth Endpoint&#xA;    participant Portal as WOF Portal API&#xA;&#xA;    Note over Client,Portal: base = {{baseUrl}}/{{tenant}}/{{apiVersion}}/R4&#xA;&#xA;    %% System token (from DemoOris.rest)&#xA;    Client -&gt;&gt; Auth: POST {{base}}/auth/system-token&#xA;    Note over Client,Auth: Header: X-ApiKey {{apiKey}}&#xA;    Auth --&gt;&gt; Client: access_token (system)&#xA;&#xA;    %% HealthcareService&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/HealthcareService&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/HealthcareService/{{healthcareServiceId}}&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/HealthcareService/{{healthcareServiceId}}/$get-offers-context&lt;br/&gt;?includeActivityDefinitionPortal={{boolean}}&lt;br/&gt;&amp;includePractitionerRolePortal={{boolean}}&#xA;&#xA;    %% Root operation&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/$get-offers-context&lt;br/&gt;?includeActivityDefinitionPortal={{boolean}}&lt;br/&gt;&amp;includeHealthcareServicePortal={{boolean}}&lt;br/&gt;&amp;includePractitionerRolePortal={{boolean}}&#xA;&#xA;    %% ActivityDefinition&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/ActivityDefinition&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/ActivityDefinition/{{activityDefinitionId}}&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/ActivityDefinition/{{activityDefinitionId}}/$get-offers-context&lt;br/&gt;?includeActivityDefinitionPortal={{boolean}}&lt;br/&gt;&amp;includeHealthcareServicePortal={{boolean}}&lt;br/&gt;&amp;includePractitionerRolePortal={{boolean}}&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/ActivityDefinition/{{activityDefinitionId}}/$get-offers-context&#xA;&#xA;    %% PractitionerRole&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/PractitionerRole&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/PractitionerRole/{{practitionerRoleId}}&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/PractitionerRole/{{practitionerRoleId}}/$get-offers-context&lt;br/&gt;?includeActivityDefinitionPortal={{boolean}}&lt;br/&gt;&amp;includeHealthcareServicePortal={{boolean}}&lt;br/&gt;&amp;includePractitionerRolePortal={{boolean}}&#xA;&#xA;    %% Catalog resources&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/Location&#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/Organization&#xA;&#xA;    %% IHE Scheduling find &#xA;    Client -&gt;&gt; Portal: GET {{base}}/fhir/Appointment/$find&lt;br/&gt;?start={{find_start}}&amp;end={{find_end}}&lt;br/&gt;&amp;visit-type={{visitTypeSystem}}|{{visitTypeCode}}&lt;br/&gt;&amp;healthcareService=HealthcareService/{{healthcareServiceId}}&lt;br/&gt;&amp;practitionerRole=PractitionerRole/{{practitionerRoleId}}&#xA;```&#xA;&#xA;This diagram is informational and documents expected client usage.&#xA;It does not expand or modify the formal FHIR conformance rules."/>
  <kind value="capability"/>
  <instantiates value="https://profiles.ihe.net/ITI/Scheduling/CapabilityStatement/IHE.Scheduling.server|1.0.0"/>
  <software>
    <name value="WOF Portal"/>
  </software>
  <fhirVersion value="4.0.1"/>
  <format value="json"/>
  <format value="xml"/>
  <rest>
    <mode value="server"/>
    <resource>
      <type value="ActivityDefinition"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/activity-definition-portal"/>
      <documentation value="Represents shared service concepts identified by code."/>
      <interaction>
        <code value="read"/>
      </interaction>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <operation>
        <name value="get-offers-context"/>
        <definition value="https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/get-offers-context"/>
        <documentation value="Returns enriched offer context for presentation and selection.  &#xA; Invoked as [base]/ActivityDefinition/[id]/$get-offers-context"/>
      </operation>
    </resource>
    <resource>
      <type value="HealthcareService"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/healthcare-service-portal"/>
      <documentation value="Represents where healthcare services are performed."/>
      <interaction>
        <code value="read"/>
      </interaction>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <operation>
        <name value="get-offers-context"/>
        <definition value="https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/get-offers-context"/>
        <documentation value="Returns enriched offer context for presentation and selection.  &#xA;Invoked as [base]/HealthcareService/[id]/$get-offers-context"/>
      </operation>
    </resource>
    <resource>
      <type value="PractitionerRole"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/practitioner-role-portal"/>
      <documentation value="Represents practitioners acting in specific operational and financial contexts."/>
      <interaction>
        <code value="read"/>
      </interaction>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <searchParam>
        <name value="service"/>
        <type value="reference"/>
        <documentation value="Filter by PractitionerRole.service (Reference to HealthcareService)."/>
      </searchParam>
      <operation>
        <name value="get-offers-context"/>
        <definition value="https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/get-offers-context"/>
        <documentation value="Returns enriched offer context for presentation and selection.  &#xA;Invoked as [base]/PractitionerRole/[id]/$get-offers-context"/>
      </operation>
    </resource>
    <resource>
      <type value="Patient"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-patient"/>
      <supportedProfile value="http://hl7.se/fhir/ig/base/StructureDefinition/SEBasePatient"/>
      <documentation value="Represents patients within the WOF Portal, conforming to the PortalPatient profile."/>
      <interaction>
        <code value="read"/>
      </interaction>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <searchParam>
        <name value="identifier"/>
        <type value="token"/>
        <documentation value="Search by personal number using system|value."/>
      </searchParam>
    </resource>
    <resource>
      <type value="Organization"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/service-provider-portal"/>
      <documentation value="Organizations in WOF Portal MAY conform to multiple profiles, representing different organizational roles.&#xA;&#xA;ServiceProvider represents the top-level owning organization (tenant) within the platform.&#xA;BillingOrganization represents financial responsibility and ownership of invoicing and reporting.&#xA;&#xA;Organizations are not exposed as searchable catalogs.&#xA;They are resolved using stable identifiers only:&#xA;- resource id&#xA;- organization number (identifier)&#xA;&#xA;Clients MAY filter by profile when needed (e.g. using _profile),&#xA;but profile-based filtering is not required for lookup by id or identifier."/>
      <interaction>
        <code value="read"/>
      </interaction>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <searchParam>
        <name value="_id"/>
        <type value="token"/>
        <documentation value="Search by Organization resource id."/>
      </searchParam>
      <searchParam>
        <name value="identifier"/>
        <type value="token"/>
        <documentation value="Search by organization number using system|value."/>
      </searchParam>
    </resource>
    <resource>
      <type value="Appointment"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment"/>
      <supportedProfile value="https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-available-appointment"/>
      <documentation value="Appointment access in WOF Portal.&#xA;&#xA;- `PortalAppointment` — represents a booked appointment in a patient context.&#xA;- `PortalAvailableAppointment` — represents an available appointment returned by `$find`.&#xA;&#xA;Supports filtering by actor (e.g., HealthcareService/{id}) and IHE Scheduling operations."/>
      <interaction>
        <code value="read"/>
      </interaction>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <searchParam>
        <name value="actor"/>
        <type value="reference"/>
        <documentation value="Filter appointments by participant actor (e.g., HealthcareService/{id})."/>
      </searchParam>
      <operation>
        <name value="find"/>
        <definition value="https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/FindAppointments"/>
        <documentation value="Search for available appointment opportunities using $find (IHE ITI Scheduling)."/>
      </operation>
      <operation>
        <name value="book"/>
        <definition value="https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/BookAppointment"/>
        <documentation value="Create, modify, or cancel an appointment using $book (IHE ITI Scheduling)."/>
      </operation>
    </resource>
    <resource>
      <type value="Location"/>
      <documentation value="Portal-scoped locations used as areas. Supported interaction: search."/>
      <interaction>
        <code value="search-type"/>
      </interaction>
      <searchParam>
        <name value="physical-type"/>
        <type value="token"/>
        <documentation value="Filter by Location.physicalType (e.g., Area)."/>
      </searchParam>
    </resource>
    <operation>
      <name value="getOffersContext"/>
      <definition value="https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/get-offers-context"/>
      <documentation value="Returns enriched offer context for presentation and selection. Invoked as [base]/$get-offers-context"/>
    </operation>
  </rest>
</CapabilityStatement>