Wof Portal, published by Service Well AB. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/servicewell/servicewell.fhir.wof-portal/ and changes regularly. See the Directory of published versions
| Official URL: https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/get-offers-context | Version: 0.1.0 | |||
| Active as of 2026-03-17 | Computable Name: GetOffersContext | |||
$getOffersContext is a read-oriented FHIR operation designed to let a frontend quickly populate booking content so a patient can choose what to book and with whom/where — without needing multiple round-trips.
It may include ActivityDefinitionPortal, HealthcareServicePortal, PractitionerRolePortal and OfferPortal.
It MUST NOT include Schedule, Slot, or bookable time slots.
This operation returns a profiled Bundle that may include:
ActivityDefinitionPortal (what is being offered)HealthcareServicePortal (where / which clinic service offers it)PractitionerRolePortal (who can perform it)The response is intentionally shaped for fast content rendering, not for scheduling.
$getOffersContext does not answer:
In other words:
Those concerns belong to downstream availability/slot endpoints.
Non-goals / exclusions
$getOffersContextThe operation can be exposed at (at least) the following levels:
System:
GET /fhir/$getOffersContext
ActivityDefinition scope:
GET /fhir/ActivityDefinition/{id}/$getOffersContext
HealthcareService scope:
GET /fhir/HealthcareService/{id}/$getOffersContext
PractitionerRole scope:
GET /fhir/PractitionerRole/{id}/$getOffersContext
The server may return different subsets depending on the endpoint and/or query parameters, but the response is always a Bundle.
Resource type
resources (depending on inputs) The response Bundle MAY include any combination of:
ActivityDefinitionPortalHealthcareServicePortalPractitionerRolePortalOfferPortal (custom resource/profile)OfferPortal resource (custom, profiled)OfferPortal is the compact “join object” used by clients to connect:
ActivityDefinitionPortal)HealthcareServicePortal)PractitionerRolePortal)An Offer contains:
healthcareService — Reference(HealthcareServicePortal) (with display populated when possible)practitionerRole — Reference(PractitionerRolePortal) (with display populated when possible)activityDefinition — Reference(ActivityDefinitionPortal) (with display populated when possible)Offer may also include presentation-focused settings needed for booking content, e.g.:
Note: duration and price are intended for booking/marketing presentation. They are not required to be machine-parseable.
We use a profiled Bundle so that:
$getOffersContext for a scope (e.g. an ActivityDefinition).ActivityDefinition by idHealthcareService by idPractitionerRole by idOffer listURL: [base]/$getOffersContext
URL: [base]/ActivityDefinition/$getOffersContext
URL: [base]/ActivityDefinition/[id]/$getOffersContext
URL: [base]/HealthcareService/$getOffersContext
URL: [base]/HealthcareService/[id]/$getOffersContext
URL: [base]/PractitionerRole/$getOffersContext
URL: [base]/PractitionerRole/[id]/$getOffersContext
| Use | Name | Scope | Cardinality | Type | Binding | Documentation |
| IN | includeActivityDefinitionPortal | 0..1 | boolean | If true, the response Bundle SHALL include ActivityDefinitionPortal resources. If omitted or false, ActivityDefinitionPortal resources are not included. | ||
| IN | includeHealthcareServicePortal | 0..1 | boolean | If true, the response Bundle SHALL include HealthcareServicePortal resources. If omitted or false, HealthcareServicePortal resources are not included. | ||
| IN | includePractitionerRolePortal | 0..1 | boolean | If true, the response Bundle SHALL include PractitionerRolePortal resources. If omitted or false, PractitionerRolePortal resources are not included. | ||
| OUT | return | 1..1 | Bundle (Bundle (Offers Context) — WOF Portal) | A profiled Bundle containing offers context resources. |