AlayaCare Vitals API
The Vitals API from AlayaCare — 3 operation(s) for vitals.
The Vitals API from AlayaCare — 3 operation(s) for vitals.
openapi: 3.0.0
info:
version: 1.0.19-oas3
title: AlayaCare Accounting Accounts Vitals API
description: '**AlayaCare IDs:**
The following terms are used to reference IDs that identify resources in AlayaCare:
- id
- visit_id
- premium_id
- visit_premium_id
- employee_id
- cost_centre_id
- client_id
**External IDs**
The following terms are used to reference IDs that identify resources systems external to AlayaCare:
- employee_external_id
- client_external_id
External IDs are required to be unique.
No other assumptions are made regarding their format they are treated as strings.
'
servers:
- url: https://example.alayacare.com/ext/api/v2/accounting
security:
- basic_auth: []
tags:
- name: Vitals
paths:
/vitals/client/{client_id}:
parameters:
- description: Client ID
name: client_id
in: path
required: true
type: integer
get:
tags:
- Vitals
summary: Get a list of a client's vital recordings by the client's AlayaCare ID
parameters:
- $ref: '#/parameters/page'
- $ref: '#/parameters/count'
- name: group[]
description: The group or comma-separated groups of the vitals.
type: string
in: query
- name: name[]
description: The name or comma-separated names of the vitals.
type: string
in: query
- name: end_at
description: The end date for the vital creation date range, using ISO 8601 date-time formatting.
type: string
in: query
- name: start_at
description: The start date for the vital creation date range, using ISO 8601 date-time formatting.
type: string
in: query
responses:
200:
description: Client's vitals details
schema:
$ref: '#/definitions/VitalList'
401:
$ref: '#/responses/AuthChallenge'
400:
$ref: '#/responses/InvalidRequest'
post:
tags:
- Vitals
summary: Record a vital for a client using the client's AlayaCare ID
parameters:
- description: Vital data in JSON format
name: vital
in: body
required: true
schema:
$ref: '#/definitions/VitalCreate'
responses:
201:
description: Vital successfully created
schema:
$ref: '#/definitions/Vital'
401:
$ref: '#/responses/AuthChallenge'
400:
$ref: '#/responses/InvalidRequest'
/vitals/client/by_id/{external_client_id}:
parameters:
- description: External client ID
name: external_client_id
in: path
required: true
type: string
get:
tags:
- Vitals
summary: Get a list of a client's vital recordings by the client's external ID
parameters:
- $ref: '#/parameters/page'
- $ref: '#/parameters/count'
- name: group[]
description: The group or comma-separated groups of the vitals.
type: string
in: query
- name: name[]
description: The name or comma-separated names of the vitals.
type: string
in: query
- name: end_at
description: The end date for the vital creation date range, using ISO 8601 date-time formatting.
type: string
in: query
- name: start_at
description: The start date for the vital creation date range, using ISO 8601 date-time formatting.
type: string
in: query
responses:
200:
description: Client's vitals details
schema:
$ref: '#/definitions/VitalList'
401:
$ref: '#/responses/AuthChallenge'
400:
$ref: '#/responses/InvalidRequest'
post:
tags:
- Vitals
summary: Record a vital for a client using the client's external ID
parameters:
- description: Vital data
name: vital
in: body
required: true
schema:
$ref: '#/definitions/VitalCreate'
responses:
201:
description: Create successful.
401:
$ref: '#/responses/AuthChallenge'
400:
$ref: '#/responses/InvalidRequest'
/vitals/{vital_id}:
parameters:
- description: Vital ID
name: vital_id
in: path
required: true
type: string
format: uuid
get:
tags:
- Vitals
summary: Get details of a vital recording
responses:
200:
description: A vital
schema:
$ref: '#/definitions/Vital'
401:
$ref: '#/responses/AuthChallenge'
400:
$ref: '#/responses/InvalidRequest'
404:
$ref: '#/responses/NotFound'
put:
tags:
- Vitals
summary: Update a vital recording
parameters:
- description: Medication data
name: medication
in: body
required: true
schema:
$ref: '#/definitions/VitalCreate'
responses:
200:
description: Update successful.
401:
$ref: '#/responses/AuthChallenge'
400:
$ref: '#/responses/InvalidRequest'
404:
$ref: '#/responses/NotFound'
components:
securitySchemes:
basic_auth:
type: http
description: Basic HTTP auth over https
scheme: basic
definitions:
VitalOptionPosition:
type: string
description: The position of the client when recording a vital like `blood_pressure` or `pulse`.
enum:
- lying
- sitting
- standing
example: sitting
VitalList:
type: object
allOf:
- $ref: '#/definitions/PaginatedList'
description: A list of vitals
properties:
items:
type: array
items:
$ref: '#/definitions/Vital'
ErrorResponse:
description: Error response
type: object
properties:
code:
type: integer
description: Response code
message:
type: string
description: Detailed error message
required:
- code
- message
PaginatedList:
description: Base model of all paginated lists
type: object
properties:
count:
type: integer
description: Number of items in the response
example: 1
page:
type: integer
description: Current page number
example: 1
total_pages:
type: integer
description: Total number of pages availbale
example: 1
items:
type: array
items:
type: object
required:
- count
- page
- total_pages
- items
VitalUnits:
type: string
description: The unit used to record the vital.
enum:
- c
- f
- kgs
- lb
- bpm
- breaths_pm
- mmhg
- cm
- in
- mmol_l
- mg_dl
- kg_m2
- '%'
example: mmhg
VitalOptions:
type: object
x-nullable: true
description: Additional options required for some vital types.
properties:
position:
$ref: '#/definitions/VitalOptionPosition'
route:
$ref: '#/definitions/VitalOptionRoute'
VitalName:
type: string
description: The name identifying the vital type.
enum:
- blood_glucose
- bmi
- height
- pulse
- pressure_min
- pressure_max
- weight
- respiratory_rate
- spo2
- temperature
example: pressure_max
VitalCreate:
type: object
description: Vital details
required:
- client_id
- external_client_id
- name
- value
- unit
properties:
client_id:
type: integer
description: The client ID.
example: 1234
external_client_id:
type: string
description: The external client ID.
example: client_1234
comments:
x-nullable: true
type: string
description: A comment.
example: No unexpected results
group:
x-nullable: true
type: string
description: The vital group. This is used to group together separate vitals that are measured together like low and high blood pressure. If no group, this should be set to `name`.
example: blood_pressure
name:
$ref: '#/definitions/VitalName'
options:
$ref: '#/definitions/VitalOptions'
session_guid:
type: string
description: A unique identifier to group vitals recorded together within the same `group`.
example: 97a3e055-2fd1-469d-a058-b173499e37ff
source:
type: string
description: A description of how the vital was recorded. This may be set if the client recorded the vital themselves.
example: default
unit:
$ref: '#/definitions/VitalUnits'
user_guid:
x-nullable: true
type: integer
description: The `guid` of the user that created the vital. This will generally be the `guid` of the employee, unless the `source` or `user_type` indicate otherwise.
example: 234
user_type:
type: string
description: The type of user that created the vital. Generally this will not be set unless thesomeone other than an employee created the vital.
x-nullable: true
example: null
value:
type: number
description: The value of the recorded vital.
example: 38.4
Vital:
allOf:
- $ref: '#/definitions/VitalCreate'
type: object
description: Vital details
required:
- client_id
- id
- name
- date
- value
- unit
properties:
date:
type: string
description: The created date using ISO 8601 date-time formatting.
example: '2018-01-01T00:30:00+00:00'
id:
type: string
description: The vital ID.
example: adedb729-54fa-473e-b929-9c71ef5c248e
VitalOptionRoute:
type: string
description: The route that awas used when recording a vital like `temperature`.
enum:
- axillary
- oral
- rectal
- tympanic
example: oral
parameters:
count:
name: count
default: 100
in: query
required: false
type: integer
description: Number of items per page. If not specified will default to 100.
page:
name: page
default: 1
in: query
required: false
type: integer
description: Filter by page number. If not specified will default to 1.
responses:
InvalidRequest:
description: Invalid data.
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
code: 400
message: Invalid request
NotFound:
description: Not found.
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
code: 404
message: Progress note not found
AuthChallenge:
description: Authentication required.
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
code: 401
message: Please verify your access level for this url.