Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Table of Contents
minLevel1
maxLevel3

Required parameters are marked with "*"

Якщо інформації по відповідному параметру немає, потрібно зазначити: “APIparagraph not found”.

Purpose*

This web service is designed to obtain full information about capitation or reimbursement contract by NHS employee(private API) or MSP employee(public API).

Contract type should be declared in the URL.

Overview

  • only employee with scopes contract:read can see details of contract

Specification

Public API

Private API

Validation

Validate token

...

method allows to get existing contract by its id with GB_CBP type through the NHS IT system

Specification*

Page Properties

Link

https://uaehealthapi.docs.apiary.io/#reference/private.-contracts/private-contracts/private.-get-contract-by-id

Resource

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

Scope

private_contracts:read

Components

Contracts

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Sync

Logic*

This method allows to get existing contract by its id with GB_CBP type through the NHS IT system

Input parameters

Input parameter

Values

Type

Description

Example

id

String

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

Request structure*

API paragraph not found

Authorize*

  1. Verify the validity of api-key

    1. Return 401 in case validation fails

...

  • in case error return 401 

Validate scopes

...

  1. Verify the validity of token

    1. Return 401 in case validation fails

  2. Check scopes in order to perform this action (scope = '

...

  1. private_contracts:read')

    1. Return 403 in case invalid scope(s)

...

Validate employee

extract user_id from token

extract client_id from token

  • Check if user is active
    • in case error return 403 - (user is not active)
  • check nhs_legal_entity is active
    • in case error return 403 - (Client is not active)

Validate context

extract client_id from token. LE employee can see only this legal entities contracts. NHS employee can see any contracts. 

  • if TOKENS_TYPES_PERSONAL
    • Check client_id = contracts.contractor_legal_entity_id
      • in case error return 403 "User is not allowed to view this contract"

Validate data

  • Validate contract id. Check contract.id = $.id
    • in case error return 404 ("Contract with id=$id doesn't exist")

Responses

...

Request to process the request using a token in the headers

Headers*

Наприклад:

  • Content-Type:application/json

  • api-key:c2778f3064753ea70de870a53795f5c9

Request data validation*

Validate request

  1. Only authenticated and authorized user can use this service

  2. Deleted records won't be shown in response

Processing*

  1. Show requested contract.

a. If requested contract type not GB_CBP, show 404 Not found instead

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": {
    "id": "8be63914-a278-470b-b868-1af5b9087332",
    "start_date": "2017-04-20",
    "end_date": "2017-04-20",
    "status": "VERIFIED",
    "contractor_legal_entity_id": "56440c03-e218-432a-b417-9574b2b287bd",
    "contractor_owner_id": "54fea667-62cf-4688-ae9e-31acc19d986d",
    "contractor_base": "на підставі закону про Медичне обслуговування населення",
    "contractor_payment_details": {
      "bank_name": "Банк номер 1",
      "MFO": "351005",
      "payer_account": "32009102701026"
    },
    "contractor_rmsp_amount": 50000,
    "external_contractor_flag": true,
    "external_contractors": [
      {
        "legal_entity": {
          "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
          "name": "Клініка Ноунейм"
        },
        "contract": {
          "number": "1234567",
          "issued_at": "2018-01-01",
          "expires_at": "2019-01-01"
        },
        "divisions": [
          {
            "id": "2922a240-63db-404e-b730-09222bfeb2dd",
            "name": "Бориспільське відділення Клініки Ноунейм",
            "medical_service": "Послуга ПМД"
          }
        ]
      }
    ],
    "nhs_signer_id": "da8cc932-7bca-4048-a3ff-9b07f901a860",
    "nhs_signer_base": "на підставі наказу",
    "nhs_legal_entity_id": "e5f76afb-4d96-4279-bcf1-0308457e6b64",
    "nhs_payment_method": "prepayment",
    "is_suspended": false,
    "issue_city": "Київ",
    "nhs_contract_price": 50000,
    "contract_number": "0000-9EAX-XT7X-3115",
    "status_reason": "default",
    "parent_contract_id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
    "id_form": "PMD",
    "nhs_signed_date": "2017-04-20",
    "type": "CAPITATION",
    "reason": "не було виконано умов контракту",
    "signed_content_location": "bucket_name/folder_identifier/file_name",
    "medical_programs": [
      "d313342c-0b3c-443b-a92e-afb78d1e8086"
    ],
    "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"
  }
}

Post-processing processes*

API paragraph not found

HTTP status codes*

HTTP status code

Message

What caused the error

 200