For a full list of available versions, see the Directory of published versions
The Search Subscriptions interaction allows an Electronic Medical Record (EMR) system to retrieve all active Subscriptions it has previously created. This interaction is aligned with the FHIR R5 Subscription Backport model.
The requesting EMR is identified by a unique emr_id, passed as a search parameter. The server returns a Bundle of type searchset containing matching Subscription resources based on the criteria (for example, owner subscriptions with active status).
4.1.5.2. This interaction involves a request by a Point of Service system to search Subscriptions based on the search criteria. The request is received by the Subscription service which assembles list of Subscription that match search criteria and an OperationOutcome resource if applicable.
4.1.5.4.
Search Subscription Request
The Search Subscription shall retrieve all FHIR Subscription resource from the repository created by specific EMR instance based on the filter.
GET [base]/Subscription?owner=[EMR_ID] AND status=ACTIVE
| Name | Type | Cardinality | Description |
|---|---|---|---|
| owner | token | 1..1 | Unique identifier for the EMR that owns the subscription. Filtered against Subscription.managingEntity.value. |
| status | string | 1..1 | A status of the Subscription |
Search Subscription Response
The server returns a 200 OK HTTP status code.
The response bodfy contains FHIR Resource Type: Bundle (type = searchset)
Each entry.resource is a Subscription that matches the provided emr_id.
In case where no matching Subscription are found, an empty result set is returned.
4.1.5.7. Example Search Subscriptions Request
GET [base]/Subscription?emr_id=EMR-12345
POST method can be used when search parameters are too complex or long for a URL (e.g., long queries or special characters). Parameters are passed in the body as application/x-www-form-urlencoded.
POST [base]/Subscription/_search
Content-Type: application/x-www-form-urlencoded
Example Search Subscriptions Response Body
{
"resourceType": "Bundle",
"meta": {
"lastUpdated": "2025-11-20T10:00:00Z"
},
"type": "searchset",
"timestamp":
"total": 2,
"link": [
{
"relation": "self",
"url": "https://emr.example.org/fhir/Subscription?criteria=Patient%3Fidentifier%3D12345"
}
],
"entry": [
{
"fullUrl": "https://emr.example.org/fhir/Subscription/sub-001",
"resource": {
"resourceType": "Subscription",
"id": "sub-001",
"status": "active",
"criteria": "Patient?identifier=12345",
"channelType": {
"code": "rest-hook"
},
"endpoint": "https://emr.example.org/notify",
"content": "id-only",
"meta": {
"tag": [
{
"system": "https://healthauthority.ca/fhir/emr-id",
"code": "EMR-12345"
}
]
}
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "https://emr.example.org/fhir/Subscription/sub-002",
"resource": {
"resourceType": "Subscription",
"id": "sub-002",
"status": "active",
"criteria": "Encounter?status=planned",
"channelType": {
"code": "rest-hook"
},
"endpoint": "https://emr.example.org/notify",
"content": "id-only",
"meta": {
"tag": [
{
"system": "https://healthauthority.ca/fhir/emr-id",
"code": "EMR-12345"
}
]
}
},
"search": {
"mode": "match"
}
}
]
}
| HTTP Status | Reason | Description |
|---|---|---|
| 400 | Missing parameter | The required search parameter is missing. |
| 401 | Unauthorized | Request is missing a valid access token. |
| 500 | Internal Server Error | A server-side error occurred. |