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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Purpose

This method returns details of the specified capitation report

Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/capitation-reports/get-capitation-report-details

Посилання на Apiary або Swagger

Resource

api/capitation_report_details

Посилання на ресурс, наприклад: /api/persons/create

Scope

capitation_report:read

Scope для доступу

Components

Contracts

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

Microservices

API paragraph not found

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

REST

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

Request type

GET

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

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

Public/Private/Internal

Public

Потрібно зазначити тип методу за ступенем доступності

Logic

API paragraph not found

Filters

See on Apiary

Dictionaries

API paragraph not found

Request structure

API paragraph not found

Authorize

  1. Verify the validity of access token

    1. in case of error return 401 ('Access denied')

  2. Check user scope capitation_report:read in order to perform this action

    1. in case of error generate 401 response ('Invalid scopes')

Headers

Наприклад:

Content-Type:application/json

Request data validation

Verify role

Extract from token:

  1. Validate client_id (is_blocked=false)

    1. in case of error return 403 Error ('Client is blocked')

  2. In case WS was called by MSP check contractor_legal_entity is active

    • in case error return 403 - ('Client is not active')

Processing

API paragraph not found

Response structure

  1. Generate synthetical id for each object in response

    1. id = edrpou +  '-' + report_id

  2. In case WS was called by NHS

    1. Select all capitation_report_details by id

    2. Return the result

  3. In case WS was called by MSP

    1. Extract legal_entity_id from token

    2. search for merged_from_legal_entities 

    3. Select capitation_report_details where legal_entity_id = legal_entity_id (from step a) and legal_entity_id = merged_from_legal_entities_id (from step b)

    4. Return the result

Example:

 Response example
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": [
    {
      "id": "29000165-09106b70-18b0-4726-b0ed-6bda1369fd52",
      "biling_date": "2017-04-20",
      "report_id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
      "legal_entity_id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
      "edrpou": "29000165",
      "legal_entity_name": "Поліклініка для Капітації",
      "capitation_contracts": [
        {
          "contract_id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
          "contract_number": "0000-9EAX-XT7X-3115",
          "details": [
            {
              "mountain_group": true,
              "attributes": {
                "0-5": 17,
                "6-17": 7,
                "18-39": 9,
                "40-65": 12,
                "65+": 15
              }
            },
            {
              "mountain_group": false,
              "attributes": {
                "0-5": 22,
                "6-17": 10,
                "18-39": 15,
                "40-65": 19,
                "65+": 21
              }
            }
          ],
          "total": {
            "attributes": {
              "0-5": 39,
              "6-17": 17,
              "18-39": 24,
              "40-65": 31,
              "65+": 36
            }
          }
        }
      ]
    }
  ]
}

Post-processing processes

API paragraph not found

HTTP status codes

HTTP status code

Message

What caused the error

200

 Response

 

401

  • Invalid scopes

  • Access denied

 

403

  • Client is not active

  • Client is blocked

  • No labels