Table of Contents
minLevel1
maxLevel3

Required parameters are marked with "*"

...

Purpose

...

This service is designed to obtain a list of capitation or reimbursement contract_requests by NHS employee (private API) or by MSP (public API).

Contract_type should be declared in the URL.

Specification

...

Page Properties

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-contracts/contract-request/public.-get-contract-requests-list

Resource

/api/contract_requests/{{contract_type}}

Scope

contract_request:read

Components

Contracts

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private/Internal

Public

Logic

...

API paragraph not found

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

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

issue_city

String

contract request place

КИЇВ

edrpou

String

legal entity edrpou

12345678

status

  • NEW

  • IN_PROCESS

  • APPROVED

  • DECLINED

  • TERMINATED

  • PENDING_NHS_SIGN

  • NHS_SIGNED

  • SIGNED

Enum

current status on contract request

NEW

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 contract

b075f148-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

Validation data request

...

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_requests:read')

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

Validate employee

extract user_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_TYPES_PERSONAL

    • return response limited by contractor_legal_entity_id

  • 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": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "contractor_base": "на підставі закону про Медичне обслуговування населення",
      "status": "NEW",
      "status_reason": "Не відповідає попереднім домовленостям",
      "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,
      "nhs_payment_method": "prepayment",
      "contract_number": "0000-9EAX-XT7X-3115",
      "contract_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
      "parent_contract_id": "22e416c4-5747-41cd-9f73-c3a85cdee885",
      "start_date": "2017-04-20",
      "end_date": "2017-04-20"
    }
  ],
  "paging": {
    "page_number": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 23
  }
}

...

If no contract request found return 200 and empty array

Post-processing processes

...

API paragraph not found

HTTP status codes

HTTP status code

Message

What caused the error

 200

 Response

  

401

  • Access token validation failed

  • The token has expired

403

  • User is not active

  • Client is not active

  • Your scope does not allow to access this resource. Missing allowances: contract_requests:read