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