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.
Endpoints
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
The FHIR Resource name.
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.
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.
Label for Group.
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.
Kind of characteristic
Plain text representation of the concept.
Value held by characteristic.
Plain text representation of the concept.
These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.
Who or what is in group.
Reference to the group member.
The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787"
or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76"
.
Type the reference refers to (e.g. “Patient”, “Practitioner”).
Responses
Canvas returns the created resource's id as a UUID within the
location
header and a null
response body.Errors
Group read
Read a Group resource.
Path Parameters
Response Payload Attributes
The FHIR Resource name.
The identifier of the Group.
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.
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.
Label for Group.
Number of members.
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.
Kind of characteristic
Plain text representation of the concept.
Group includes or excludes
Value held by characteristic.
Plain text representation of the concept.
These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.
Who or what is in group.
Reference to the group member.
The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787"
or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76"
.
Type the reference refers to (e.g. “Patient”, “Practitioner”).
Text alternative for the resource.
Responses
Errors
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
The FHIR Resource name.
The identifier of the Group.
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.
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.
Label for Group.
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.
Kind of characteristic
Plain text representation of the concept.
Value held by characteristic.
Plain text representation of the concept.
These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.
Who or what is in group.
Reference to the group member.
The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787"
or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76"
.
Type the reference refers to (e.g. “Patient”, “Practitioner”).
Responses
Canvas returns a
null
response body.Errors
Group search
Search for Group resources.
Query Parameters
The identifier of the Group.
The type of resources the group contains.
Response Payload Attributes
The FHIR Resource name.
This element and value designate that the bundle is a search response. Search result bundles will always have the Bundle.type of searchset .
The number of resources that match the search parameter.
Attributes relevant to pagination, see our Pagination page for more detail.
The relation of the page search
The search url for the specific relation
The results bundle that lists out each object returned in the search
The attributes specific to the resource type, see the Attributes section below
Attributes
The FHIR Resource name.
The identifier of the Group.
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.
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.
Label for Group.
Number of members.
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.
Kind of characteristic
Plain text representation of the concept.
Group includes or excludes
Value held by characteristic.
Plain text representation of the concept.
These responsibilities represent the responsibilities of a Canvas Team. They are not applicable for a Patient Group.
Who or what is in group.
Reference to the group member.
The reference string of the member in the format of "Patient/a39cafb9d1b445be95a2e2548e12a787"
or "Practitioner/a09946c97cb04f44bc36f1c08f6d1b76"
.
Type the reference refers to (e.g. “Patient”, “Practitioner”).
Text alternative for the resource.
Responses
Errors
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" } } ] }