For a full list of available versions, see the Directory of published versions
The Submit Patient/Practitioner List interaction creates a set of patient or practitioner resources linked to a specific EMR instance. This list identifies which individuals the EMR wants to track for clinical event notifications through the pub/sub mechanism. It acts as a filter for subscriptions, ensuring that only events related to resources in the list are delivered to the appropriate subscriber.
This interaction allows a Point-of-Service system to create a Patient or Practitioner List on the Subscription Server. The list is represented as a FHIR Group resource and submitted as a transaction-type Bundle. The Subscription Service processes the Bundle and creates a Group along with any referenced resources.
Upon success, the Subscription Server returns an HTTP status code and, if needed, an accompanying OperationOutcome resource.
4.1.1.3.
Diagram features scenario where EMR submits Patient list. It is applicable for Practitiner scenario as well.
This specification is based on use of the HL7 FHIR transaction Bundle with a Group resource being the focal resource to manage the list.
Submit List Request
The Submit List shall utilize the FHIR Group resource to maintain references to all resources (patients or practitioners) associated with a specific EMR instance. This ensures a standardized representation of these resources for use in subscription filtering and notification delivery. The transaction Bundle that includes the Group and all associated Patient or Practitioner resources is sent in the body of the request.
POST https://[base_url]
Accept: application/fhir+json; charset=UTF-8
Content-Type: application/fhir+json; charset=UTF-8
Submit List Response
The server returns a 201 OK HTTP status code, along with a copy of the Group resource in the HTTP body.
4.1.1.6.
Example Submit Request
HTTP Method:
POST
Headers:
Accept: application/fhir+json; charset=UTF-8
Content-Type: application/fhir+json; charset=UTF-8
Client ID: CI-12345-patient-list
Address:
[base_url]
Request Body Example
HTTP Body contains a FHIR Group resource with reference to Patient/Practitioner resource conformant with CA Core + specification. This example shows the scenario where EMR submists Patient list.
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"fullUrl": "urn:uuid:a3f9d218-4e3b-4f7e-9c2c-3b2e7c1b8f54",
"resource": {
"resourceType": "Group",
"identifier": [
{
"system": "http://emr.orion.ca/fhir/identifiers",
"value": "ci-12345-patient-list"
}
],
"managingEntity": {
"Identifier" : [
"system": "http://emr.orion.ca/fhir/identifiers",
"value": "Subscriber-EMR-ID"
}
],
"type": "person",
"actual": true,
"quantity": 2,
"member": [
{
"entity": {
"reference": "urn:uuid:d4f9d317-4e3d-4f7e-9a2a-3b2e7c1b8f54"
}
},
{
"entity": {
"reference": "urn:uuid:7c1e4f02-b0b3-4f8f-97b0-1e3d9e6f4c21"
}
}
]
},
"request": {
"method": "POST",
"url": "Group/"
}
},
{
"fullUrl": "urn:uuid:d4f9d317-4e3d-4f7e-9a2a-3b2e7c1b8f54",
"resource": {
"resourceType": "Patient",
"id": "patient-1",
"identifier": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "JHN",
"display": "Jurisdictional health number"
}
]
},
"system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn",
"value": "1234562770"
}
],
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1980-01-01"
"address": [
{
"use": "home",
"line": [
"123 Example Street"
],
"city": "Toronto",
"state": "ON",
"postalCode": "M8V 4T8",
"country": "CA"
}
],
},
"request": {
"method": "POST",
"url": "Patient/"
}
},
{
"fullUrl": "urn:uuid:7c1e4f02-b0b3-4f8f-97b0-1e3d9e6f4c21",
"resource": {
"resourceType": "Patient",
"id": "patient-2",
"identifier": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "JHN",
"display": "Jurisdictional health number"
}
]
},
"system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn",
"value": "4562456780"
}
],
"name": [
{
"family": "Doe",
"given": ["Jane"]
}
],
"gender": "female",
"birthDate": "1990-06-15"
"address": [
{
"use": "home",
"line": [
"123 Example Street"
],
"city": "Toronto",
"state": "ON",
"postalCode": "M8V 4T8",
"country": "CA"
}
],
},
"request": {
"method": "POST",
"url": "Patient/"
}
}
]
}
Response Body Example
HTTP/1.1 200 'OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "transaction-response",
"entry": [
{
"response": {
"status": "201 Created",
"location": "Group/ci-12345-patient-list",
"lastModified": "2025-11-23T00:00:00Z"
}
},
{
"response": {
"status": "201 Created",
"location": "Patient/patient-1",
"etag": "W/\"1\"",
"lastModified": "2025-11-23T00:00:00Z"
}
},
{
"response": {
"status": "201 Created",
"location": "Patient/patient-2",
"lastModified": "2025-11-23T00:00:00Z"
}
}
]
}
| Case | Scenario Description | HTTP Status Code | Response Payload |
|---|---|---|---|
| 1 | A valid transaction Bundle is submitted, accepted, and created in the repository along with resources in the Group (either patients or practitioners | HTTP 200 | Bundle (transaction-response type) that contains one entry for each entry in the request, in the same order, with the outcome of processing the entry. |
| 2 | The submitted Bundle cannot be validated as it does not conform to the specification | HTTP 422 | Bad Request. Returns an OperationOutcome resource indicating an issue. The client must fix the request and try again. |
| 3 | POST Interactions contains incorrect header value for "Content-Type" - should be "application/fhir+json" | HTTP 400 | Resource not found. Returns an OperationOutcome resource indicating an issue. |
| 4 | API validates the request but cannot return a valid response due to internal issues. | HTTP 500 | Internal Server Error. Returns an OperationOutcome resource indicating an issue. |