Profiles & Operations > Operation: Create Patient List
DRAFT CONTENT
Interaction: Create Practitioner List
The Create Practitioner List interaction establishes a collection of practitioners linked to a specific EMR instance, representing those of interest for receiving clinical event notifications via the pub/sub mechanism. This list serves as a filtering input for subscriptions, ensuring that only events pertaining to practitioners within the list are delivered to the corresponding subscriber (e.g., the EMR system)
Specification
This specification is based on use of the HL7 FHIR Group resource.
Usage
Create Practitioner List Request
The Create Practitioner List shall use FHIR Group resource to create references to all practitioners for the given EMR instance.
POST https://[base_url]/Bundle/
where [identifier] represents a reference to EMR instance whose practitioner list is created with this operation.
Create Practitioner List Response
The server returns a 201 OK HTTP status code, along with a copy of the Group resource in the HTTP body.
Interaction Sequence Diagram
Example of Create Practitioner List Interaction
Example Create Request
HTTP Method:
POST
Headers:
Content-Type: application/fhir+json
ClientId: ci-12345-practitioner-list
Address:
[base_url]/Bundle/
Example Create Request Body
HTTP Body contains a FHIR Group resource with reference to Practitioner resource conformant with CA Core + specification.
{ "resourceType": "Bundle", "type": "collection", "entry": [ { "fullUrl": "urn:uuid:group-practitioner-list", "resource": { "resourceType": "Group", "identifier": [ { "system": "http://emr.orion.ca/fhir/identifiers", "value": "ci-12345-patient-list" } ], "type": "person", "actual": true, "characteristic": [ { "code": { "text": "Practitioner" }, "valueCodeableConcept": { "text": "Primary Care" } } ], "member": [ { "entity": { "reference": "Practitioner/practitioner-1" } }, { "entity": { "reference": "Practitioner/practitioner-2" } } ] } }, { "fullUrl": "urn:uuid:practitioner-1", "resource": { "resourceType": "Practitioner", "id": "practitioner-1", "identifier": [ { "type": { "coding": [ { "system":"http://terminology.hl7.org/CodeSystem/v2-0203", "code": "MD", "display": "Medical License Number" } ], "text": "Medical License Number" }, "system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-license-physician", "value": "123456789" } ] "name": [ { "family": "Smith", "given": ["Jane"] } ], "qualification": [ { "code": { "text": "General Practitioner" } } ] } }, { "fullUrl": "urn:uuid:practitioner-2", "resource": { "resourceType": "Practitioner", "id": "practitioner-2", "identifier": [ { "type": { "coding": [ { "system":"http://terminology.hl7.org/CodeSystem/v2-0203", "code": "MD", "display": "Medical License Number" } ], "text": "Medical License Number" }, "system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-license-physician", "value": "288939393" } ] "name": [ { "family": "Lee", "given": ["Daniel"] } ], "qualification": [ { "code": { "text": "Family Medicine" } } ] } } ] }
Example Create Response Body
HTTP/1.1 201 'Created
Content-Type: application/fhir+json
HTTP Body contains a FHIR Group resource with reference to Practitioner resource conformant with CA Core + specification.
{ "resourceType": "Group", "identifier": [ { "system": "http://emr.orion.ca/fhir/identifiers", "value": "ci-12345-patient-list" } ], "type": "person", "actual": true, "member": [ { "entity": { "reference": "practitioner-1" } }, { "entity": { "reference": "practitioner-2" } } ] } }
Expected Behaviour
Case | Scenario Description | HTTP Status Code | Response Payload |
---|---|---|---|
1 | A valid Group is submitted, accepted, and created in the repository | HTTP 201 | Created |
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. |
Supported Profiles
Profile Name | URL |
---|---|
Group | Ontario Health Publish-Subscribe Group Profile |