Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel3

Required parameters are marked with "*"

...

Purpose

...

This method allows to delete existing contract with type GB_CBP from DB through the NHS IT system

Note that record won't be permanently deleted. It will be marked is_active = false and will be unavailable

Specification*

Page Properties

Link

https://ehealthmisapi1.docs.apiary.io/#reference/private.-contracts/private-contracts/private.-delete-contract

Resource

/api/admin/contracts/{{id}}

Scope

private_contracts:write

Components

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescriptionContracts

Microservices

Перелік мікросервісів, які використовує метод API. Наприклад: Auth, ABACAPI paragraph not found

Protocol type

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

DELETE

Sync/Async

Метод є синхронним чи асинхронним?

Logic*

...

Sync

Public/Private/Internal

Private

Logic

WS sets is_active = false and the contract will be unavailable

Input parameters

Input parameter

Values

Type

Description

Example

id

String

801f37f5-52c8-477e-aba5-a1d01876d210

...

API paragraph not found

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

Validate request*

  1. Only authenticated and authorized user can use this service

  2. Contract with active child entities couldn't be deleted

Request data validation*

The following attributes must be validated

  1. Validate id

    1. Check that contract with id from URL exist and is_active = true

      1. in case of error return 404 error ('Contract with such id is not found')

    2. Check that contract with such id have type = 'GB_CBP'

      1. in case of error return 409 error ('Only contracts with type GB_CBP can be deleted')

  2. Validate contract divisions. There should not be any active records

    1. in case of error return 409 error ('Contract can not be deleted because it has active divisions')

  3. Validate contract employees. There should not be any active records

    1. in case of error return 409 error ('Contract can not be deleted because it has active employees')

Validate request

  1. Only authenticated and authorized user can use this service

  2. Contract with active child entities couldn't be deleted

Processing

...

  1. Update system attributes

Attribute

Value

is_active

Const: false

updated_at

now() timestamp

updated_by

User from token

Response structure

...

See on Apiary

Example:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": {}
}

Post-processing processes*

API paragraph not found

HTTP status codes

...

HTTP status code

Message

What caused the error

 200

 

 

...