Note |
---|
Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою. |
Info |
---|
/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document) |
Table of Contents |
---|
Properties of a REST API method document
Page Properties | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
Purpose
Describe the purpose of the API method, add Key points (if necessary)N/A
Logic
Only authenticated and authorized HR, ADMIN, OWNER employees from MSP, OUTPATIENT, PRIMARY_CARE, EMERGENCY legal entities can activate equipments
Only INACTIVE equipment can be activated
Legal entity can activate only its own equipments
Configuration parameters
Description of the configuration parameters that are used when processing a request in the system
Dictionaries
Provides a list of links to dictionaries that are available in ConfluenceN/A
Dictionaries
N/A
Input parameters
Input parameter | Mandatory | Type | Description | Example | |||
---|---|---|---|---|---|---|---|
1 | composition_id | M | String ($uuid) (path) | Composition object ID | 89678f60-4cdc-4fe3-ae83-e8b3ebd35c59 | Equipment identifier. Required | d290f1ee-6c54-4b01-90e6-d701748f0851 |
2 |
Request structure
See on API-specification
Expand | ||
---|---|---|
| ||
|
Headers
...
...
Request data validation
...
Mandatory
...
Description
...
Example
...
Content-Type
...
application/json
...
M
...
Тип контенту
...
Content-Type:application/json
...
Authorization
...
Bearer c2778f3064753ea70de870a53795f5c9
...
M
...
Перевірка користувача
...
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
...
api-key
...
uXhEczJ56adsfh3Ri9SUkc4en
...
api-key:uXhEczJ56adsfh3Ri9SUkc4en
Request data validation
Authorize
Verify the validity of access token
Return 401 in case validation fails
Check scopes in order to perform this action (scope = 'equipment:write')
Return 403 in case invalid scope(s)
Check that legal entity is active (status = ACTIVE, SUSPENDED)
Extract client_id from token (token.client_id == legal_entity_id)
Check legal entity status (status = ACTIVE, SUSPENDED)
In case of error - return 409 (Legal entity must be ACTIVE or SUSPENDED)
Validate division
Check that division is active
Check division status (status = ACTIVE)
In case of error - return 409 (Division must be active)
Validate equipment
Check that equipment with such ID exists in the system (is_active = true)
In case of error - return 404
Check that equipment belongs to the same legal entity as the user
In case of error - return 403
Validate transition
Only INACTIVE equipment can be activated
...
In other cases - return 409 error with message "ACTIVE equipment cannot be ACTIVATED"
Processing
Update object in DB
1. equipments table
Patameter | Source | Description |
---|---|---|
status | Const: ACTIVE | By default ACTIVE for activated records |
updated_at | Timestamp: now() | Get current date-time |
updated_by | Token: user_id | Extract user from token |
Save object to DB
1. equipment_status_hstr table
Parameter | Source | Description |
---|
Parameter | Source | Description |
---|---|---|
id | UUID | Autogenerated |
equipment_id | UUID | Reference to equipments.id |
status | Const: ACTIVE | By default ACTIVE for activated records |
inserted_by | Token: user_id | Extract user from token |
inserted_at | Timestamp: now() | Get current date-time |
Response structure examples
See on API-specification
Expand | |||||
---|---|---|---|---|---|
| |||||
|
HTTP status codes
Response code | HTTP Status code | Message | Internal name | Description | |
---|---|---|---|---|---|
1 | Базові | ||||
2 | 200 | Response |
| ||
3 | 401 |
| Access token validation failed | ||
4 | 403 |
|
| ||
5 | 404 |
| Validation failed | ||
6 | 409 | ACTIVE equipment cannot be ACTIVATED | |||
7 | 409 | Division must be active | |||
8 | 409 | Legal entity must be ACTIVE or SUSPENDED | |||
9 | 409 |
| Validation failed | ||
10 | Специфічні | ||||
11 |
Post-processing processes
Description of actions performed on data after processing
Technical modules where the method is used
List of pages describing technical N/A
Technical modules where the method is used
Page Properties Report | ||||
---|---|---|---|---|
|
...