Table of Contents | ||||
---|---|---|---|---|
|
...
...
Purpose
...
This method allows to create new contract employee record for existing contract with GB_CBP type through the NHS IT system
Specification
...
Page Properties | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Project Name | COVID-certificate | |||||||||||||||
Project abreviation | SVC | |||||||||||||||
Developer | Розробник методу API. Наприклад, Edenlab | |||||||||||||||
Project Manager | @Єлизавета Гессен-Дармштадська | |||||||||||||||
Tech Lead | @Іоанн Воїнов | |||||||||||||||
Product Owner | @Нікодім Святогорцев | |||||||||||||||
Вusiness analyst | @Пантелеймон Нікомедійський | Status |
Status | ||||
---|---|---|---|---|
|
Version
1.0
Date of release
Link | https://uaehealthapiehealthmisapi1.docs.apiary.io/#reference/private.-contracts/private-contract-employees/private.-create-contract-employee |
Resource | /api/admin/contract_employees |
Scope | private_contracts:write |
Components | Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescriptionContracts |
Microservices | Перелік мікросервісів, які використовує метод API. Наприклад: Auth, ABACAPI paragraph not found |
Protocol type | Тип протоколу, який використовується запитом, наприклад: SOAP | REST |
Request type | POST |
Sync/Async | Метод є синхронним чи асинхронним? |
Logic*
Потрібно по пунктах описати логіку методу API або додати діаграму
Filters Нужно ли использовать атрибуты ?
...
Filter
...
Values
...
Type
...
Description
...
Example
...
|
Logic
WS creating new contract employee
Request structure
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
Authorize
...
Verify the validity of api-key
Return 401 in case validation fails
Verify the validity of token
Return 401 in case validation fails
Check scopes in order to perform this action (scope = 'private_contracts:write')
Return 403 in case invalid scope(s)
Request to process the request using a token in the headers
Headers
...
Наприклад:
Content-Type:application/json
api-key:c2778f3064753ea70de870a53795f5c9
Validate request*
...
...
Contract employee must be valid and consistent, i.e. all "foreign keys" must be valid
Request data validation
...
The following attributes must be validated
Validate employee_id
Check that employee exist and is_active = true
in case of error return 404 error $.employee_id ('Employee is not found')
Check that employee_id correspond to contractor legal entity through employees.legal_entity_id=contracts.contractor_legal_entity_id
in case of error return 422 error $.employee_id ('Employee is not correspond to contractor legal entity')
Validate division_id
Check that division exist and is_active = true
in case of error return 404 error $.division_id ('Division is not found')
Check that division_id correspond to contractor legal entity through divisions.legal_entity_id=contracts.contractor_legal_entity_id
in case of error return 409 error $.division_id ('Division is not correspond to contractor legal entity')
Validate contract_id
Check that contract exist and is_active = true and type = GB_CBP
in case error return 409 error $.contract_id ('Contract must be an active and with GB_CBP type')
Validate request
Only authenticated and authorized user can use this service
Contract employee must be valid and consistent, i.e. all "foreign keys" must be valid
Processing
...
Set system attributes
Attribute | Value |
---|---|
id | Generate uuid |
is_active | Const: true |
inserted_at | now() timastamp |
inserted_by | User from token |
updated_at | now() timastamp |
updated_by | User from token |
...
3. Audit log (trigger logic)
Response structure
...
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
Post-processing processes*
Що має відбутися в ЦБД після опрацювання та відправлення відповіді, тощо
HTTP status codes
...
HTTP status code | Message | What caused the error |
---|---|---|
201 |
|
|