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

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Version History

« Previous Version 5 Next »

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

 JSON schema
{
  "$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)

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.

 JSON schema
{
  "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.

  • No labels