Versions Compared

Key

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

Table of Contents
minLevel1
maxLevel7

Purpose*

Returns declaration requests that were created through V2 and V3.

Specification*

Link

Apiary

...

Resource

/api/v3/declaration_requests/{id}

Scope

declaration_request:read

Components

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

Global and configure parameters

<Потрібно вказати глобальні та конфігураційні параметри>

Using Dictionaries

<Потрібно вказати словники, які використовує метод API>

Using Microservices

<Вкажіть перелік мікросервісів, які використовує метод API. Наприклад: Auth, ABAC>

Protocol type

REST API

Request type

GET

Sync/Async

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

Logic*

Fields person_id and data_to_be_signed will be empty if declaration request is created by V2.

  1. Only authenticated and authorized user can use declaration request

  2. The service returns only a declaration request that was created in the same legal entity as the user

...

Input parameters

Filter

Values

Type

Description

Example

 id

 

String

request identifier

d290f1ee-6c54-4b01-90e6-d701748f0851

Request structure*

See on Apiary

Authorize*

  1. Verify the validity of access token

    1. Return 401 in case validation fails

  2. Check scopes in order to perform this action (scope = 'declaration_request:read')

    1. Return 403 in case invalid scope(s)

Request to process the request using a token in the headers.

Headers*

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Validate request (JSON schema)*

<Наприклад:

  1. Validate request using JSON schema

    1. In case validation failed - generate 422 error

Expand
titleJSON schema
Code Block
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "verification_code": {
      "type": "string"
    }
  },
  "required": [
    "verification_code"
  ],
  "additionalProperties": false
}

Validation data request*

<Валідація даних>

Processing*

1. Using global parameters

<Потрібно викликати глобальні параметри (Global parameters), щоб отримати наведені нижче параметри>

2. Generate structure for response

<Наприклад:

  • Collect response array for all programs in payload with status for each (VALID or INVALID) and rejection_reason

  • For all VALID programs - Get linked medications (type = BRAND) with reimbursement info 

  • Show only active program medications based on start_date and end (start_date must be earlier or equal to the current date or empty, end_date must be greater or equal to the current date or empty)

Code Block
IF EXISTS
    (SELECT * FROM program_medications MP
        INNER JOIN medications M
            ON M.id = MP.medication_id
                AND M.type =  BRANDS
        INNER JOIN ingredients I
            ON I.parend_id = M.id
                AND I.is_primary = TRUE
                AND I.medication_child_id = _MR.medication_id
    WHERE MP.medical_program_id == $.id
        AND MP.is_active == TRUE
        AND M.is_active == TRUE)

>

Response structure*

Print form is generated after approve declaration request, so in response on Get decl request by id show fields contextand data_to_be_signed if DR approved.

Expand
titleJSON schema
Code Block
{
  "meta": {
    "code": 201,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": {
    "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
    "start_date": "2017-03-02",
    "end_date": "2017-03-02",
    "person_id": "4d0d790c-cbf1-44f5-ab21-ba8db67da161",
    "employee_id": "1a8b10ea-ba09-40f2-8f9e-55608e9208c6",
    "division_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "legal_entity_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "declaration_number": "0000-12H4-245D",
    "declaration_id": "8311ab82-e341-4da0-8a95-235ec9885e23",
    "parent_declaration_id": "8c7753fc-a647-435f-8e43-4ff4546431f6",
    "status": "SIGNED",
    "channel": "MIS",
    "authorize_with": "cc949559-5dfe-420f-ac05-065e443b2cc6",
    "data_to_be_signed": {
      "id": "b099f148-7f93-4fc2-b2ec-2d81b19a9b7b",
      "declaration_number": "0000-12H4-245D",
      "declaration_id": "8311ab82-e341-4da0-8a95-235ec9885e23",
      "start_date": "2017-03-02",
      "end_date": "2017-03-02",
      "content": "Declaration content",
      "channel": "MIS",
      "person": {
        "id": "5fb57a5d-1457-430e-9678-c81cec72779f",
        "first_name": "Петро",
        "last_name": "Іванов",
        "second_name": "Миколайович",
        "birth_date": "2009-07-05",
        "birth_country": "Україна",
        "birth_settlement": "Вінниця",
        "gender": "MALE",
        "email": "email@example.com",
        "no_tax_id": false,
        "tax_id": "3999869394",
        "secret": "secret",
        "documents": [
          {
            "type": "BIRTH_CERTIFICATE",
            "number": "АА120518",
            "issued_by": "Рокитнянським РВ ГУ МВС Київської області",
            "issued_at": "2017-02-28",
            "expiration_date": "2027-02-28"
          }
        ],
        "addresses": [
          {
            "type": "RESIDENCE",
            "country": "UA",
            "area": "Житомирська",
            "region": "Бердичівський",
            "settlement": "Київ",
            "settlement_type": "CITY",
            "settlement_id": "b075f148",
            "street_type": "STREET",
            "street": "вул. Ніжинська",
            "building": "15",
            "apartment": "23",
            "zip": "02090"
          }
        ],
        "phones": [
          {
            "type": "MOBILE",
            "number": "+380503410870"
          }
        ],
        "authentication_methods": [
          {
            "type": "OTP",
            "phone_number": "+38093*****85"
          }
        ],
        "unzr": "20090705-00011",
        "emergency_contact": {
          "first_name": "Петро",
          "last_name": "Іванов",
          "second_name": "Миколайович",
          "phones": [
            {
              "type": "MOBILE",
              "number": "+380503410870"
            }
          ]
        },
        "confidant_person": [
          {
            "relation_type": "PRIMARY",
            "first_name": "Петро",
            "last_name": "Іванов",
            "second_name": "Миколайович",
            "birth_date": "1972-10-26",
            "birth_country": "Україна",
            "birth_settlement": "Вінниця",
            "gender": "MALE",
            "tax_id": "2659719350",
            "secret": "secret",
            "unzr": "19900101-00099",
            "preferred_way_communication": "email",
            "documents_person": [
              {
                "type": "PASSPORT",
                "number": "АА120518",
                "expiration_date": "2021-02-28",
                "issued_by": "Рокитнянським РВ ГУ МВС Київської області",
                "issued_at": "2017-02-28"
              }
            ],
            "documents_relationship": [
              {
                "type": "BIRTH_CERTIFICATE",
                "number": "АА120518",
                "issued_by": "Рокитнянським РВ ГУ МВС Київської області",
                "issued_at": "2017-02-28"
              }
            ],
            "phones": [
              {
                "type": "MOBILE",
                "number": "+380503410870"
              }
            ],
            "email": "emaill@example.com"
          }
        ],
        "preferred_way_communication": "email",
        "patient_signed": false,
        "process_disclosure_data_consent": true
      },
      "employee": {
        "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
        "position": "P6",
        "party": {
          "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
          "no_tax_id": true,
          "first_name": "Петро",
          "last_name": "Іванов",
          "second_name": "Миколайович",
          "email": "email@example.com",
          "phones": [
            {
              "type": "MOBILE",
              "number": "+380503410870"
            }
          ]
        }
      },
      "legal_entity": {
        "name": "Клініка Ноунейм",
        "short_name": "Ноунейм",
        "legal_form": "140",
        "public_name": "ЦПМСД №1",
        "edrpou": "5432345432",
        "licenses": [
          {
            "license_number": "fd123443",
            "issued_by": "Кваліфікацйна комісія",
            "issued_date": "2017-02-28",
            "expiry_date": "2017-02-28",
            "active_from_date": "2017-02-28",
            "what_licensed": "реалізація наркотичних засобів",
            "order_no": "ВА43234"
          }
        ],
        "accreditation": {
          "category": "SECOND",
          "issued_date": "2017-02-28",
          "expiry_date": "2017-02-28",
          "order_no": "fd123443",
          "order_date": "2017-02-28"
        },
        "addresses": [
          {
            "type": "RESIDENCE",
            "country": "UA",
            "area": "Житомирська",
            "region": "Бердичівський",
            "settlement": "Київ",
            "settlement_type": "CITY",
            "settlement_id": "b075f148",
            "street_type": "STREET",
            "street": "вул. Ніжинська",
            "building": "15",
            "apartment": "23",
            "zip": "02090"
          }
        ],
        "phones": [
          {
            "type": "MOBILE",
            "number": "+380503410870"
          }
        ],
        "email": "email@example.com",
        "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b"
      },
      "division": {
        "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
        "legal_entity_id": "c8aadb87-ecb9-41ca-9ad4-ffdfe1dd89c9",
        "name": "Бориспільське відділення Клініки Ноунейм",
        "addresses": [
          {
            "type": "RESIDENCE",
            "country": "UA",
            "area": "Житомирська",
            "region": "Бердичівський",
            "settlement": "Київ",
            "settlement_type": "CITY",
            "settlement_id": "b075f148",
            "street_type": "STREET",
            "street": "вул. Ніжинська",
            "building": "15",
            "apartment": "23",
            "zip": "02090"
          }
        ],
        "phones": [
          {
            "type": "MOBILE",
            "number": "+380503410870"
          }
        ],
        "email": "email@example.com",
        "type": "clinic",
        "external_id": "3213213",
        "dls_id": "2872985",
        "dls_verified": true
      },
      "seed": "hash",
      "authorize_with": "cc949559-5dfe-420f-ac05-065e443b2cc6"
    }
  },
  "urgent": {
    "authentication_method_current": {
      "type": "OTP",
      "number": "+38093*****85"
    },
    "documents": [
      {
        "type": "PASSPORT",
        "url": "https://storage.ehealth.world"
      }
    ]
  }
}

Post-processing processes*

<Що має відбутися в ЦБД після опрацювання запиту>

HTTP status codes

HTTP status code

Message

What caused the error

 200

 

 

Backward compatibility

This endpoint shows the declaration requests which are created by V2 and V3. Due to the fact that structure of declaration request V2 is different from the structure of decl request V3 , so not all fields od decl request v2 can be displayed.

Response

Print form is generated after approve declaration request, so in response on Get decl request by id show fields contextand data_to_be_signed if DR approved.