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.