Group

Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn’t an Organization.

https://hl7.org/fhir/R4/group.html

In Canvas Teams and Patient Groups are mapped to the FHIR Group resource.
See this Zendesk article for information about creating teams in Canvas.
See this Zendesk article for information about patient groups in Canvas.

post
/Group

Group create

Create a Group resource.

Note: The Canvas implementation of Group create/update assigns responsibilities to practitioner Groups using the characteristic attribute, rather than using the characteristic attribute to establish membership.

Attributes

resourceType
string

The FHIR Resource name.

type
string required

Identifies the broad classification of the kind of resources the group includes.

A group with type person refers to a Patient Group in canvas, while a group of type practitioner refers to a Team in Canvas.

Value Options Supported:
  • person
  • practitioner
actual
boolean required

If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.

While this is a required field in FHIR, Canvas assumes all groups are made up of real individuals, so this will be assumed True for all interactions.

name
string required

Label for Group.

characteristic
array[json]

Identifies traits whose presence or absence is shared by members of the group

The text attribute on the valueCodeableConcept for each characteristic represents responsibilities held by the Group (in Canvas a Team). Responsibilities may not be shared by more than one team.

If a group of practitioners is created/updated with a responsibility that another group is assigned, the endpoint will return an error dictating the responsibilities have already been assigned.

Click to view child attributes
code
json required

Kind of characteristic

Click to view child attributes
text
string required

Plain text representation of the concept.

Value Options Supported:
  • responsibility
valueCodeableConcept
json required

Value held by characteristic.

Click to view child attributes
text
string

Plain text representation of the concept.

These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.

Value Options Supported:
  • COLLECT_SPECIMENS_FROM_PATIENT
  • COMMUNICATE_DIAGNOSTIC_RESULTS_TO_PATIENT
  • COORDINATE_REFERRALS_FOR_PATIENT
  • PROCESS_REFILL_REQUESTS
  • PROCESS_CHANGE_REQUESTS
  • SCHEDULE_LAB_VISITS_FOR_PATIENT
  • POPULATION_HEALTH_CAMPAIGN_OUTREACH
  • COLLECT_PATIENT_PAYMENTS
  • COMPLETE_OPEN_LAB_ORDERS
  • REVIEW_ERA_POSTING_EXCEPTIONS
  • REVIEW_COVERAGES
member
array[json]

Who or what is in group.

Click to view child attributes
entity
json required

Reference to the group member.

Click to view child attributes
reference
string required

The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787" or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76".

type
string

Type the reference refers to (e.g. “Patient”, “Practitioner”).

Responses

201 Created
The server has successfully processed the request; the new resource has been created and is now ready for interaction.

Canvas returns the created resource's id as a UUID within the location header and a null response body.

Errors

400 Bad Request
The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
401 Unauthorized
The request requires user authentication.
403 Forbidden
The request requires user authorization.
405 Method Not Allowed
The request performs an operation that is either not supported or allowed.
422 Unprocessable Entity
The request cannot be processed due to semantic issues or conflicts with the database state.
get
/Group/{id}

Group read

Read a Group resource.

Path Parameters

id required
string
The unique identifier for the Group

Response Payload Attributes

resourceType
string

The FHIR Resource name.

id
string

The identifier of the Group.

type
string

Identifies the broad classification of the kind of resources the group includes.

A group with type person refers to a Patient Group in canvas, while a group of type practitioner refers to a Team in Canvas.

Value Options Supported:
  • person
  • practitioner
actual
boolean

If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.

While this is a required field in FHIR, Canvas assumes all groups are made up of real individuals, so this will be assumed True for all interactions.

name
string

Label for Group.

quantity
integer

Number of members.

characteristic
array[json]

Identifies traits whose presence or absence is shared by members of the group

The text attribute on the valueCodeableConcept for each characteristic represents responsibilities held by the Group (in Canvas a Team). Responsibilities may not be shared by more than one team.

Click to view child attributes
code
json

Kind of characteristic

Click to view child attributes
text
string

Plain text representation of the concept.

Value Options Supported:
  • responsibility
exclude
boolean

Group includes or excludes

Value Options Supported:
  • false
valueCodeableConcept
json

Value held by characteristic.

Click to view child attributes
text
string

Plain text representation of the concept.

These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.

Value Options Supported:
  • COLLECT_SPECIMENS_FROM_PATIENT
  • COMMUNICATE_DIAGNOSTIC_RESULTS_TO_PATIENT
  • COORDINATE_REFERRALS_FOR_PATIENT
  • PROCESS_REFILL_REQUESTS
  • PROCESS_CHANGE_REQUESTS
  • SCHEDULE_LAB_VISITS_FOR_PATIENT
  • POPULATION_HEALTH_CAMPAIGN_OUTREACH
  • COLLECT_PATIENT_PAYMENTS
  • COMPLETE_OPEN_LAB_ORDERS
  • REVIEW_ERA_POSTING_EXCEPTIONS
  • REVIEW_COVERAGES
member
array[json]

Who or what is in group.

Click to view child attributes
entity
json

Reference to the group member.

Click to view child attributes
reference
string

The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787" or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76".

type
string

Type the reference refers to (e.g. “Patient”, “Practitioner”).

display
string

Text alternative for the resource.

Responses

200 OK
Request was successful.

Errors

401 Unauthorized
The request requires user authentication.
403 Forbidden
The request requires user authorization.
404 Not Found
The requested resource was not found.
put
/Group/{id}

Group update

Update a Group resource.

Note: The Canvas implementation of Group create/update assigns responsibilities to practitioner Groups using the characteristic attribute, rather than using the characteristic attribute to establish membership.

Attributes

resourceType
string

The FHIR Resource name.

id
string required

The identifier of the Group.

type
string required

Identifies the broad classification of the kind of resources the group includes.

A group with type person refers to a Patient Group in canvas, while a group of type practitioner refers to a Team in Canvas.

Value Options Supported:
  • person
  • practitioner
actual
boolean required

If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.

While this is a required field in FHIR, Canvas assumes all groups are made up of real individuals, so this will be assumed True for all interactions.

name
string required

Label for Group.

characteristic
array[json]

Identifies traits whose presence or absence is shared by members of the group

The text attribute on the valueCodeableConcept for each characteristic represents responsibilities held by the Group (in Canvas a Team). Responsibilities may not be shared by more than one team.

If a group of practitioners is created/updated with a responsibility that another group is assigned, the endpoint will return an error dictating the responsibilities have already been assigned.

Click to view child attributes
code
json required

Kind of characteristic

Click to view child attributes
text
string required

Plain text representation of the concept.

Value Options Supported:
  • responsibility
valueCodeableConcept
json required

Value held by characteristic.

Click to view child attributes
text
string

Plain text representation of the concept.

These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.

Value Options Supported:
  • COLLECT_SPECIMENS_FROM_PATIENT
  • COMMUNICATE_DIAGNOSTIC_RESULTS_TO_PATIENT
  • COORDINATE_REFERRALS_FOR_PATIENT
  • PROCESS_REFILL_REQUESTS
  • PROCESS_CHANGE_REQUESTS
  • SCHEDULE_LAB_VISITS_FOR_PATIENT
  • POPULATION_HEALTH_CAMPAIGN_OUTREACH
  • COLLECT_PATIENT_PAYMENTS
  • COMPLETE_OPEN_LAB_ORDERS
  • REVIEW_ERA_POSTING_EXCEPTIONS
  • REVIEW_COVERAGES
member
array[json]

Who or what is in group.

Click to view child attributes
entity
json required

Reference to the group member.

Click to view child attributes
reference
string required

The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787" or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76".

type
string

Type the reference refers to (e.g. “Patient”, “Practitioner”).

Responses

200 OK
The server has successfully processed the request.

Canvas returns a null response body.

Errors

400 Bad Request
The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
401 Unauthorized
The request requires user authentication.
403 Forbidden
The request requires user authorization.
404 Not Found
The requested resource was not found.
405 Method Not Allowed
The request performs an operation that is either not supported or allowed.
412 Precondition Failed
The request depends on a precondition that has not been met.
422 Unprocessable Entity
The request cannot be processed due to semantic issues or conflicts with the database state.

Query Parameters

_id
string

The identifier of the Group.

type
string

The type of resources the group contains.

Search Values Supported:
  • person
  • practitioner

Response Payload Attributes

resourceType
string

The FHIR Resource name.

type
string

This element and value designate that the bundle is a search response. Search result bundles will always have the Bundle.type of searchset .

total
integer

The number of resources that match the search parameter.

link
array[json]

Attributes relevant to pagination, see our Pagination page for more detail.

Click to view child attributes
relation
enum [self|first|next|last]

The relation of the page search

url

The search url for the specific relation

entry
array[json]

The results bundle that lists out each object returned in the search

Click to view child attributes
resource
json

The attributes specific to the resource type, see the Attributes section below

Attributes

resourceType
string

The FHIR Resource name.

id
string

The identifier of the Group.

type
string

Identifies the broad classification of the kind of resources the group includes.

A group with type person refers to a Patient Group in canvas, while a group of type practitioner refers to a Team in Canvas.

Value Options Supported:
  • person
  • practitioner
actual
boolean

If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.

While this is a required field in FHIR, Canvas assumes all groups are made up of real individuals, so this will be assumed True for all interactions.

name
string

Label for Group.

quantity
integer

Number of members.

characteristic
array[json]

Identifies traits whose presence or absence is shared by members of the group

The text attribute on the valueCodeableConcept for each characteristic represents responsibilities held by the Group (in Canvas a Team). Responsibilities may not be shared by more than one team.

Click to view child attributes
code
json

Kind of characteristic

Click to view child attributes
text
string

Plain text representation of the concept.

Value Options Supported:
  • responsibility
exclude
boolean

Group includes or excludes

Value Options Supported:
  • false
valueCodeableConcept
json

Value held by characteristic.

Click to view child attributes
text
string

Plain text representation of the concept.

These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.

Value Options Supported:
  • COLLECT_SPECIMENS_FROM_PATIENT
  • COMMUNICATE_DIAGNOSTIC_RESULTS_TO_PATIENT
  • COORDINATE_REFERRALS_FOR_PATIENT
  • PROCESS_REFILL_REQUESTS
  • PROCESS_CHANGE_REQUESTS
  • SCHEDULE_LAB_VISITS_FOR_PATIENT
  • POPULATION_HEALTH_CAMPAIGN_OUTREACH
  • COLLECT_PATIENT_PAYMENTS
  • COMPLETE_OPEN_LAB_ORDERS
  • REVIEW_ERA_POSTING_EXCEPTIONS
  • REVIEW_COVERAGES
member
array[json]

Who or what is in group.

Click to view child attributes
entity
json

Reference to the group member.

Click to view child attributes
reference
string

The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787" or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76".

type
string

Type the reference refers to (e.g. “Patient”, “Practitioner”).

display
string

Text alternative for the resource.

Responses

200 OK
Request was successful.

Errors

400 Bad Request
The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
401 Unauthorized
The request requires user authentication.
403 Forbidden
The request requires user authorization.
  • curl --request POST \
         --url 'https://fumage-example.canvasmedical.com/Group' \
         --header 'Authorization: Bearer <token>' \
         --header 'accept: application/json' \
         --header 'content-type: application/json' \
         --data '
    {
        "resourceType": "Group",
        "type": "practitioner",
        "actual": true,
        "name": "A Test Team",
        "characteristic": [
            {
                "code": {
                    "text": "responsibility"
                },
                "valueCodeableConcept": {
                    "text": "COLLECT_SPECIMENS_FROM_PATIENT"
                },
                "exclude": false
            }
        ],
        "member": [
            {
                "entity": {
                    "reference": "Practitioner/76428138e7644ce6b7eb426fdbbf2f39",
                    "type": "Practitioner"
                }
            }
        ]
    }'
    
  • import requests
    
    url = "https://fumage-example.canvasmedical.com/Group"
    
    headers = {
        "accept": "application/json",
        "Authorization": "Bearer <token>",
        "content-type": "application/json"
    }
    
    payload = {
        "resourceType": "Group",
        "type": "practitioner",
        "actual": True,
        "name": "A Test Team",
        "characteristic": [
            {
                "code": {
                    "text": "responsibility"
                },
                "valueCodeableConcept": {
                    "text": "COLLECT_SPECIMENS_FROM_PATIENT"
                },
                "exclude": False
            }
        ],
        "member": [
            {
                "entity": {
                    "reference": "Practitioner/76428138e7644ce6b7eb426fdbbf2f39",
                    "type": "Practitioner"
                }
            }
        ]
    }
    response = requests.post(url, json=payload, headers=headers)
    
    print(response.text)
    
  • null
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "invalid",
          "details": {
            "text": "Bad request"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "unknown",
          "details": {
            "text": "Authentication failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "forbidden",
          "details": {
            "text": "Authorization failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "not-supported",
          "details": {
            "text": "Operation is not supported"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "business-rule",
          "details": {
            "text": "Unprocessable entity"
          }
        }
      ]
    }
    
  • curl --request GET \
         --url 'https://fumage-example.canvasmedical.com/Group/<id>' \
         --header 'Authorization: Bearer <token>' \
         --header 'accept: application/json'
    
  • import requests
    
    url = "https://fumage-example.canvasmedical.com/Group/<id>"
    
    headers = {
        "accept": "application/json",
        "Authorization": "Bearer <token>"
    }
    
    response = requests.get(url, headers=headers)
    
    print(response.text)
    
  • {
        "resourceType": "Group",
        "id": "3340c331-d446-4700-9c23-7959bd393f26",
        "type": "practitioner",
        "actual": true,
        "name": "A Test Team",
        "characteristic": [
            {
                "code": {
                    "text": "responsibility"
                },
                "valueCodeableConcept": {
                    "text": "COLLECT_SPECIMENS_FROM_PATIENT"
                },
                "exclude": false
            }
        ],
        "member": [
            {
                "entity": {
                    "reference": "Practitioner/76428138e7644ce6b7eb426fdbbf2f39",
                    "type": "Practitioner"
                }
            }
        ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "unknown",
          "details": {
            "text": "Authentication failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "forbidden",
          "details": {
            "text": "Authorization failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "not-found",
          "details": {
            "text": "Unknown Group resource 'a47c7b0e-bbb4-42cd-bc4a-df259d148ea1'"
          }
        }
      ]
    }
    
  • curl --request PUT \
         --url 'https://fumage-example.canvasmedical.com/Group/<id>' \
         --header 'Authorization: Bearer <token>' \
         --header 'accept: application/json' \
         --header 'content-type: application/json' \
         --data '
    {
        "resourceType": "Group",
        "id": "3340c331-d446-4700-9c23-7959bd393f26",
        "type": "practitioner",
        "actual": true,
        "name": "A Test Team",
        "characteristic": [
            {
                "code": {
                    "text": "responsibility"
                },
                "valueCodeableConcept": {
                    "text": "COLLECT_SPECIMENS_FROM_PATIENT"
                },
                "exclude": false
            }
        ],
        "member": [
            {
                "entity": {
                    "reference": "Practitioner/76428138e7644ce6b7eb426fdbbf2f39",
                    "type": "Practitioner"
                }
            }
        ]
    }'
    
  • import requests
    
    url = "https://fumage-example.canvasmedical.com/Group/<id>"
    
    headers = {
        "accept": "application/json",
        "Authorization": "Bearer <token>",
        "content-type": "application/json"
    }
    
    payload = {
        "resourceType": "Group",
        "id": "3340c331-d446-4700-9c23-7959bd393f26",
        "type": "practitioner",
        "actual": True,
        "name": "A Test Team",
        "characteristic": [
            {
                "code": {
                    "text": "responsibility"
                },
                "valueCodeableConcept": {
                    "text": "COLLECT_SPECIMENS_FROM_PATIENT"
                },
                "exclude": False
            }
        ],
        "member": [
            {
                "entity": {
                    "reference": "Practitioner/76428138e7644ce6b7eb426fdbbf2f39",
                    "type": "Practitioner"
                }
            }
        ]
    }
    response = requests.put(url, json=payload, headers=headers)
    
    print(response.text)
    
  • null
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "invalid",
          "details": {
            "text": "Bad request"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "unknown",
          "details": {
            "text": "Authentication failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "forbidden",
          "details": {
            "text": "Authorization failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "not-found",
          "details": {
            "text": "Unknown Group resource 'a47c7b0e-bbb4-42cd-bc4a-df259d148ea1'"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "not-supported",
          "details": {
            "text": "Operation is not supported"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "conflict",
          "details": {
            "text": "Resource updated since If-Unmodified-Since date"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "business-rule",
          "details": {
            "text": "Unprocessable entity"
          }
        }
      ]
    }
    
  • curl --request GET \
         --url 'https://fumage-example.canvasmedical.com/Group?type=practitioner' \
         --header 'Authorization: Bearer <token>' \
         --header 'accept: application/json'
    
  • import requests
    
    url = "https://fumage-example.canvasmedical.com/Group?type=practitioner"
    
    headers = {
        "accept": "application/json",
        "Authorization": "Bearer <token>"
    }
    
    response = requests.get(url, headers=headers)
    
    print(response.text)
    
  • {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 1,
        "link": [
            {
                "relation": "self",
                "url": "/Group?type=practitioner&_count=10&_offset=0"
            },
            {
                "relation": "first",
                "url": "/Group?type=practitioner&_count=10&_offset=0"
            },
            {
                "relation": "last",
                "url": "/Group?type=practitioner&_count=10&_offset=0"
            }
        ],
        "entry": [
            {
                "resource": {
                    "resourceType": "Group",
                    "id": "3340c331-d446-4700-9c23-7959bd393f26",
                    "type": "practitioner",
                    "actual": true,
                    "name": "A Test Team",
                    "characteristic": [
                        {
                            "code": {
                                "text": "responsibility"
                            },
                            "valueCodeableConcept": {
                                "text": "COLLECT_SPECIMENS_FROM_PATIENT"
                            },
                            "exclude": false
                        }
                    ],
                    "member": [
                        {
                            "entity": {
                                "reference": "Practitioner/76428138e7644ce6b7eb426fdbbf2f39",
                                "type": "Practitioner"
                            }
                        }
                    ]
                }
            }
        ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "invalid",
          "details": {
            "text": "Bad request"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "unknown",
          "details": {
            "text": "Authentication failed"
          }
        }
      ]
    }
    
  • {
      "resourceType": "OperationOutcome",
      "issue": [
        {
          "severity": "error",
          "code": "forbidden",
          "details": {
            "text": "Authorization failed"
          }
        }
      ]
    }