SlimSlim/Query

Count devices per zone (compatibility)

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/v1/slim/query/organization/device/count

Compatibility route for older zone count clients. Returns device counts per zone. For new integrations, use GET /v1/slim/zones/device-counts.

Auth: bearer token. The caller must be a practitioner, an admin or a System Owner, and needs Organization:search and Device:search. Scope: the caller's project (from the token). For admins, the counts also cover the project's sub-projects.

Behaviour

  • Each entry has the zone (organization) and its deviceCount, assignedResidentDeviceCount, activeDeviceCount and inactiveDeviceCount.
  • Devices without a zone are counted in an entry without organization.
  • Only zones with at least one device are listed, sorted by deviceCount, highest first.
  • A device counts as active when its telemetry reports it active.
  • The top-level total* fields sum the counts over all entries. total is the number of entries.
  • Results are cached for up to 60 seconds. Writes made through the Slim routes refresh the cache sooner.

Example

curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/organization/device/count' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'

Authorization

bearer
headerAuthorizationBearer <JWT>

Response Body

Organization device count retrieved successfully.

application/json
  1. response
total*number
totalDeviceCount*number
totalAssignedResidentDeviceCount*number
totalActiveDeviceCount*number
totalInactiveDeviceCount*number
resources*array<>
Example Request
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/organization/device/count'
Example Response
{  "total": 0,  "totalDeviceCount": 0,  "totalAssignedResidentDeviceCount": 0,  "totalActiveDeviceCount": 0,  "totalInactiveDeviceCount": 0,  "resources": [    {      "organization": {        "resourceType": "Organization",        "id": "string",        "name": "string",        "meta": {          "project": "string",          "lastUpdated": "string"        }      },      "deviceCount": 0,      "assignedResidentDeviceCount": 0,      "activeDeviceCount": 0,      "inactiveDeviceCount": 0    }  ]}

Get resident devices with telemetry (compatibility) GET

Compatibility route for older resident vitals clients. Returns the devices assigned to one resident, each with its telemetry. For new integrations, use `GET /v1/slim/patient/{id}/current-vitals`. **Auth:** bearer token. The caller must be a practitioner, an admin or a System Owner, and needs `search` and `read` on `Patient`, `Device`, `Location`, `Observation` and `Organization`. **Scope:** the caller's project (from the token). The `project` parameter is ignored. ## Behaviour - Returns up to 100 device rows for the resident, with zone, device and telemetry. - Results are cached for up to 60 seconds. Writes made through the Slim routes refresh the cache sooner. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/patient/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```

List users (compatibility) GET

Compatibility route for older user list clients. Lists the practitioner users of a project with their profile, membership and access policy. For new integrations, use `GET /v1/slim/project/users`. **Auth:** bearer token. The caller must be a practitioner, an admin or a System Owner, and needs `Practitioner:read`. **Scope:** the caller's project (from the token). When you pass `project=Project/<id>`, that project is used instead. It must be your project or one of its sub-projects. ## Behaviour - `profileType` is required and must be `Practitioner`. - Each row has `user`, `profile`, `membership` and, when set, `accessPolicy`, reduced to the fields a list needs. - A user's status is `Pending` when they have an unused invite or no password yet, otherwise `Active`. - `accessPolicy`, `profile` and `user` filter on exact references, for example `AccessPolicy/<id>`. - `search` matches profile name, user name and access policy name, with fuzzy matching. - `page` is zero-based. `count` defaults to 20, maximum 100. - Results are cached for up to 60 seconds. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/user?profileType=Practitioner&page=0&count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```