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

GroupPractitionerCreate

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