/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)
Properties of a REST API method document
Purpose
Describe the purpose of the API method, add Key points (if necessary)
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 Confluence
Input parameters
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | composition_id | M | String ($uuid) (path) | Composition object ID | 89678f60-4cdc-4fe3-ae83-e8b3ebd35c59 |
2 |
Request structure
See on API-specification
Headers
Key | Value | Mandatory | Description | Example | |
---|---|---|---|---|---|
1 | Content-Type | application/json | M | Тип контенту | Content-Type:application/json |
2 | Authorization | Bearer c2778f3064753ea70de870a53795f5c9 | M | Перевірка користувача | Authorization:Bearer c2778f3064753ea70de870a53795f5c9 |
3 | api-key | uXhEczJ56adsfh3Ri9SUkc4en | api-key:uXhEczJ56adsfh3Ri9SUkc4en |
Request data validation
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
Available transitions
INACTIVE → ACTIVE
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
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 modules where the method is used