Interaction: Read Practitioner List
Profiles & Operations > Operation: Get Practitioner List
DRAFT CONTENT
Interaction: Read Practitioner List
The Read Practitioner List retrieves a Group resource referencing all the practitioner associated with a specific EMR instance or organizational unit. This list is then used by Pub/Sub as a filtering criteria, ensuring that only notifications related to the practitioner in the list are sent to the corresponding subscriber (e.g., EMR system, HIC, or vendor).
It supports dynamic retrieval of practitioner lists from the pub/sub repository to be used as notification filtering criteria to determine whether notifications are being sent appropriately.
Specification
This specification is based onthe HL7 FHIR Group resource.
Usage
Read Practitioner List Request
The Get Practitioner List shall retrieve the FHIR Group resource from the repository with references to practitioner for the given EMR instance.
`GET https://[base_url]/Group?identifier=emr-practitioner-12345&_include=Group:member`,
where [identifier] represents a reference to EMR instance whose practitioner list is requested.
Read Practitioner List Response
The server returns a 200 OK HTTP status code along with FHIR Group resource in the HTTP body.
Interaction Sequence Diagram
Example of Get Practitioner List Interaction
Example GET Request
HTTP Method:
GET
Headers:
Content-Type: application/fhir+json
Address:
[base_url]/Group?identifier=emr-practitioner-12345&_include=Group:member
Example GET Response Body
HTTP Body contains a bundle with FHIR Group resource referencing Practitioner resources conformant with CA Core + specification.
{ "resourceType": "Bundle", "type": "searchset", "entry": [ { "resource": { "resourceType": "Group", "identifier": [ { "system": "http://emr.orion.ca/fhir/identifiers", "value": "emr-practitioner-12345" } ], "id": "456", "type": "practitioner", "member": [ { "entity": { "reference": "Practitioner/111" }}, { "entity": { "reference": "Practitioner/222" }} ] } }, { "resource": { "resourceType": "Practitioner", "id": "111", "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": "Nguyen", "given": ["Alice"] }] } }, { "resource": { "resourceType": "Practitioner", "id": "222", "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": "Singh", "given": ["Raj"] }] } } ] }
Expected Behaviour
Case | Scenario Description | HTTP Status Code | Response Payload |
---|---|---|---|
1 | An existing Group is retrieved from the repository | HTTP 200 | Retrieved |
2 | The requested Group based on the provided logical id does not exist | HTTP 404 | Resource not found. Returns an OperationOutcome resource indicating an issue. |
3 | 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. |