Operation: Subscriptions
The Publication and Subscription Operations (Pub/Sub) for the PHPD will follow the guidance provided in the Ontario Health Subscription Implementation Guide (OH Pub/Sub IG)
The OH Pub/Sub IG provides guidance on usage of the HL7 FHIR Subscription R5 Backport Implementation Guide (R5 Backport IG) within the context of Ontario Health.
FHIR R4's Subscription-related features are limited, and many of the basic Pub-Sub features are only available through FHIR R5. The R5 Backport IG defines a standardized way for implementers to use all the FHIR R5 features using only FHIR R4 (since almost all implementers are currently using FHIR R4).
The first release of PHPD will support the following:
- Subscriptions for the five FHIR PHPD resources: HealthcareService, Practitioner, PractitionerRole, Location, Organization. Subscriptions will be created using a manual process with the PHPD onboarding team.
- Publications for the five FHIR PHPD resources: HealthcareService, Practitioner, PractitionerRole, Location, Organization through messaging, rest-hook, or websockets
- Exploration of available SubscriptionTopics may not be available in the first release. In the interim, the section below will identify the resources and filter criteria available for each resource in the PHPD.
The filter criteria in the Subscription (criteria.extension:filterCriteria) will be the same criteria currently available in each of the respective Search Operations. There are examples in the R5 Backport IG for Subscriptions with filter criteria.
HealthcareService
Query Search Parameters | Type | Description | Usage Note |
---|---|---|---|
program (HealthcareService.program) |
token | For PHSD the valueset consists of eServices | eConsult | eVisit | Connex | THLN. | |
service-category (HealthcareService.category) |
token | The service category is used to determine the available service types available within a program. | |
service-type (HealthcareService.type) |
token | The available service types will be different for each program and category. See the respective ValueSets for each slice in the HealthcareService profile. | |
specialty (HealthcareService.specialty) |
token | Used to search specialties and subspecialties available at this healthcare service. For eConsult, the specialty field is used to capture both specialties and subspecialties. | |
coverage-area (HealthcareService.coverageArea) |
reference(Location) | Used to search against a LHIN or GeoCode. Syntax for parameter TBD. | GeoCode search [baseURL]/HealthcareService?_has:location:near=[latitude]|[longitude]|[distance]|[unit], where distance & unit are optional Name search [baseURL]/HealthcareService?coverageArea.name:contains=LHIN or [baseURL]/HealthcareService?coverageArea.name:exact=LHIN7 |
communication | |||
practitionerrole.practitioner.name | |||
_text | |||
_content | string | This parameter is used to search on the entire content of the resource | |
_count | integer | The count parameter returns the results of search in a series of pages. This parameter instructs the server on how many resources are to be returned in a single page. |
Location
Query Search Parameters | Type | Description | Usage Note |
---|---|---|---|
name (Location.name) |
string | ||
type (Location.type.coding) |
token | The Location type | |
telecom (Location.telecom) |
token | By combined telecom type (e.g. phone, email) with telecom value (e.g. phone number, email address) | |
address Location.address |
string | A (part of the) address of the location | |
lhin Location.extension:LHIN-code |
token | The numeric LHIN code for this location | |
registration-subclass Location.extension:registration-subclass |
The location's registration subclass as per the extension binding | ||
organizaton-type Location.extension:organization-type |
token | The location's managing organization's org type, as per the extension binding. | |
specialty (HealthcareService.specialty) |
token | Used to search specialties and subspecialties available at this healthcare service. For eConsult, the specialty field is used to capture both specialties and subspecialties. |
Organization
Query Search Parameters | Type | Description | Usage Note |
---|---|---|---|
name (Organization.name) |
string | ||
type (Organization.type.coding) |
token | The Location type | |
telecom (Organization.telecom) |
token | By combined telecom type (e.g. phone, email) with telecom value (e.g. phone number, email address) | |
address Organization.address |
string | A (part of the) address of the location |
Practitioner
Query Search Parameters | Type | Description | Usage Note |
---|---|---|---|
name (Practitioner.name) |
string | A (part of the) practitioner name | |
address Location.address |
string | A (part of the) address of the practitioner | |
gender (Practitioner.gender) |
token | The practitioner's gender | |
communication (Practitioner.communication) |
token | The communication language available for this practitioner |
PractitionerRole
Query Search Parameters | Type | Description | Usage Note |
---|---|---|---|
language (PractitionerRole.language) |
token | The communication language available for this practitionerrole | |
code (PractitionerRole.code) |
token | Search based on HealthcareProviderRoleType | |
code (PractitionerRole.specialty) |
token | Search based on Qualified Expertise Role Type |