/
Private. Create contract employee

ЕСОЗ - публічна документація

Private. Create contract employee

Purpose

This method allows to create new contract employee record for existing contract with GB_CBP type through the NHS IT system

 

Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/private.-contracts/private-contract-employees/private.-create-contract-employee

Resource

/api/admin/contract_employees

Scope

private_contracts:write

Components

Contracts

Microservices

API paragraph not found

Protocol type

REST

Request type

POST

Sync/Async

Sync

Public/Private/Internal

Private

 

Logic

WS creating new contract employee

 

Request structure

See on Apiary

Example:

{ "staff_units": 1, "declaration_limit": 2000, "employee_id": "ce050c01-f4a5-4d5f-85d6-7e41d41146bf", "division_id": "62d0a654-2e7f-40fb-b1bb-8a38cdc3f701", "contract_id": "6bb64748-7707-4be8-86e0-56cfb08e9b88", "start_date": "2018-04-20T19:14:13Z", "end_date": "2019-04-20T19:14:13Z" }

 

Authorize

  1. Verify the validity of api-key

    1. Return 401 in case validation fails

  2. Verify the validity of token

    1. Return 401 in case validation fails

  3. Check scopes in order to perform this action (scope = 'private_contracts:write')

    1. 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

 

Request data validation

The following attributes must be validated

  1. Validate employee_id

    1. Check that employee exist and is_active = true

      1. in case of error return 404 error $.employee_id ('Employee is not found')

    2. Check that employee_id correspond to contractor legal entity through employees.legal_entity_id=contracts.contractor_legal_entity_id

      1. in case of error return 422 error $.employee_id ('Employee is not correspond to contractor legal entity')

  2. Validate division_id

    1. Check that division exist and is_active = true

      1. in case of error return 404 error $.division_id ('Division is not found')

    2. Check that division_id correspond to contractor legal entity through divisions.legal_entity_id=contracts.contractor_legal_entity_id

      1. in case of error return 409 error $.division_id ('Division is not correspond to contractor legal entity')

  3. Validate contract_id

    1. Check that contract exist and is_active = true and type = GB_CBP

      1. in case error return 409 error $.contract_id ('Contract must be an active and with GB_CBP type')

Validate request

  1. Only authenticated and authorized user can use this service

  2. Contract employee must be valid and consistent, i.e. all "foreign keys" must be valid

 

Processing

  1. Set system attributes

Attribute

Value

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

2. Store to DB

3. Audit log (trigger logic)

 

Response structure

See on Apiary

Example:

{ "meta": { "code": 201, "url": "https://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": { "id": "8be63914-a278-470b-b868-1af5b9087332", "staff_units": 1, "declaration_limit": 2000, "employee_id": "ce050c01-f4a5-4d5f-85d6-7e41d41146bf", "division_id": "62d0a654-2e7f-40fb-b1bb-8a38cdc3f701", "contract_id": "6bb64748-7707-4be8-86e0-56cfb08e9b88", "start_date": "2018-04-20T19:14:13Z", "end_date": "2019-04-20T19:14:13Z", "is_active": true, "inserted_at": "2017-04-20T19:14:13Z", "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e", "updated_at": "2017-04-20T19:14:13Z", "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd" } }

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 201

 

 

Related content

Private. Create contract division
Private. Create contract division
More like this
Private. Get contract employee by ID
Private. Get contract employee by ID
More like this
Contracts
Contracts
Read with this
Private. Create contract
Private. Create contract
More like this
Private. Get contract employees
Private. Get contract employees
Read with this
RC_Create Contract Request (CSI-2430)
RC_Create Contract Request (CSI-2430)
More like this

ЕСОЗ - публічна документація