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 service is designed to obtain list of capitation or reimbursement  contracts  by reimbursement contracts by NHS or Legal Entity employee.
Contract type should be declared in the url.

Specification*

Page Properties

...

Overview

  1. only employees with scope "contract:read" can get list of contracts
  2. list of contracts can be filtered

Specification

Public API

Private API

...

-get-contracts-list

Resource

/api/contracts/{{contract_type}}

Scope

contract:read

Components

Contracts

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Sync

Logic*

This method is designed to obtain list of contracts with filters. This method return shorten information about contract, in order to see all information try to use 'get contract details'

Filters

Filter

Values

Type

Description

Example

id

String

id of contract request

b075f148-7f93-4fc2-b2ec-2d81b19a9b7b

contractor_legal_entity_id

String

id of legal entity which created contract request

b075f148-7f93-4fc2-b2ec-2d81b19a9b7b

edrpou

String

contractor legal entity EDRPOU

contractor_owner_id

String

id of legal entity owner

b075f148-7f93-4fc2-b2ec-2d81b19a9b7b

nhs_signer_id

String

id of nhs employee

b075f148-7f93-4fc2-b2ec-2d81b19a9b7b

status

TERMINATED

VERIFIED

Enum

current contract status

VERIFIED

is_suspended

Boolean

wether contract is active

true

date_from_start_date

String

2018-01-01

date_to_start_date

String

2018-01-01

date_from_end_date

String

2018-01-01

date_to_end_date

String

2018-01-01

contract_number

String

human readable number of contract request

0000-9EAX-XT7X-3115

medical_program_id

String

id of a program that is a subject of a contract

2075f148-7f93-4fc2-b2ec-2d81b19a9b7b

page

Number

Page number

2

page_size

Number

A limit on the number of objects to be returned. Maximum: 500

50

Request structure*

API paragraph not found

Authorize*

Request to process the request using a token in the headers

Headers*

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Request data validation*

Validate token

  • Verify the validity of access token

    • Return 401 in case validation fails

  • token is not expired

    • in case error return 401 

Validate scopes

  • Check user scopes in order to perform this action (scope = 'contract:read')

    1. Return 403 in case invalid scope(s) -"Your scope does not allow to access this resource. Missing allowances:

       contract

       contract:read"

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

Return response to user limited by context from user's token

  • if TOKENS

    if TOKENS_TYPES_PERSONAL

    • return response limited by contractor_legal_entity_id

    if 
  • TOKENS

    if TOKENS_TYPES_NHS

    • return non limitted response

Processing*

API paragraph not found

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": "09106b70-18b0-4726-b0ed-6bda1369fd52",
      "contract_type": "CAPITATION",
      "contractor_legal_entity_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "contractor_owner": {
        "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
        "party": {
          "first_name": "Петро",
          "last_name": "Іванов",
          "second_name": "Миколайович"
        }
      },
      "contractor_base": "на підставі закону про Медичне обслуговування населення",
      "status": "VERIFIED",
      "contractor_divisions": [
        {
          "id": "2922a240-63db-404e-b730-09222bfeb2dd",
          "name": "Бориспільське відділення Клініки Ноунейм"
        }
      ],
      "external_contractor_flag": true,
      "nhs_signer_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "nhs_legal_entity_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "nhs_signer_base": "на підставі наказу",
      "issue_city": "Київ",
      "nhs_contract_price": 50000,
      "contract_number": "0000-9EAX-XT7X-3115",
      "contract_request_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "start_date": "2017-04-20",
      "end_date": "2018-04-20",
      "is_suspended": "false",
      "id_form": "PMD",
      "parent_contract_id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
      "assignee_id": "22e416c4-5747-41cd-9f73-c3a85cdee885"
    }
  ],
  "paging": {
    "page_number": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 23
  }
}

Expand
titleResponse

...

example
Code Block
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": [
    {
      "id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
      "contract_type": "REIMBURSEMENT",
      "contractor_legal_entity_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "contractor_owner": {
        "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
        "party": {
          "first_name": "Петро",
          "last_name": "Іванов",
          "second_name": "Миколайович"
        }
      },
      "contractor_base": "на підставі закону про Медичне обслуговування населення",
      "status": "VERIFIED",
      "contractor_divisions": [
        {
          "id": "2922a240-63db-404e-b730-09222bfeb2dd",
          "name": "Бориспільське відділення Клініки Ноунейм"
        }
      ],
      "nhs_signer_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "nhs_legal_entity_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "nhs_signer_base": "на підставі наказу",
      "issue_city": "Київ",
      "nhs_contract_price": 50000,
      "contract_number": "0000-9EAX-XT7X-3115",
      "contract_request_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "start_date": "2017-04-20",
      "end_date": "2018-04-20",
      "is_suspended": "false",
      "id_form": "RMB",
      "parent_contract_id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
      "assignee_id": "22e416c4-5747-41cd-9f73-c3a85cdee885",
      "medical_programs": [
        "3914a240-63db-404e-b730-09222bfeb2d0"
      ]
    }
  ],
  "paging": {
    "page_number": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 23
  }
}

Post-processing processes*

API paragraph not found

HTTP status codes

HTTP status code

Message

What caused the error

 200