ЕСОЗ - публічна документація
[DRAFT] Activate equipment [API-007-002-002-0237]
Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.
https://e-health-ua.atlassian.net/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)
- 1 Properties of a REST API method document
- 2 Purpose
- 3 Logic
- 4 Configuration parameters
- 5 Dictionaries
- 6 Input parameters
- 7 Request structure
- 8 Headers
- 9 Request data validation
- 10 Authorize
- 10.1 Validate division
- 10.2 Validate equipment
- 10.3 Validate transition
- 11 Processing
- 11.1 Update object in DB
- 11.1.1 1. equipments table
- 11.1.2 1. equipment_status_hstr table
- 11.1 Update object in DB
- 12 Response structure examples
- 13 HTTP status codes
- 14 Post-processing processes
- 15 Technical modules where the method is used
Properties of a REST API method document
Document type | Метод REST API |
---|---|
Document title | [DRAFT] Activate equipment [API-007-002-002-0237] |
Guideline ID | GUI-0011 |
Author | @ |
Document version | 1 |
Document status | DRAFT |
Date of creation | ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD) |
Date of update | ХХ.ХХ.ХХХХ (дата зміни версії) |
Method API ID | API-007-002-002-0237 |
Microservices (namespace) | ME |
Component | Devices and equipment |
Component ID | COM-007-002 |
Link на API-специфікацію |
|
Resource | {{host}}/api/equipment/{{id}}/actions/activate |
Scope | equipment:write |
Protocol type | REST |
Request type | PATCH |
Sync/Async | Sync |
Public/Private | Public |
Purpose
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
N/A
Dictionaries
N/A
Input parameters
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | id |
| String | Equipment identifier. Required | d290f1ee-6c54-4b01-90e6-d701748f0851 |
2 |
|
|
|
|
|
Request structure
See on API-specification
Headers
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
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
See on API-specification
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
N/A
Technical modules where the method is used
ЕСОЗ - публічна документація