Versions Compared

Key

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

REST API method / Метод REST API (настанова) (remove the link block before publishing the document)

Properties of a REST API method document

Document type

Метод REST API

Document title

Get declaration details via Cabinet

Guideline ID

GUI-0011

Author

Viacheslav Tybin (SoE eHealth)

Document version

1

Document status

DRAFT

Date of creation

ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD)

Date of update

ХХ.ХХ.ХХХХ (дата зміни версії)

Method API ID

API-005-010-001-0191

Microservices (namespace)

IL

Component

Patient Cabinet

Component ID

COM-005-010

Link на API-специфікацію

https://ehealthmisapi1.docs.apiary.io/#reference/public.-patient-cabinet/cabinet/get-declaration-details-via-cabinet

Resource

{{host}}/api/cabinet/declarations/{{id}}

Scope

declaration:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

Current WS allows to see details of declaration knowing its' id.

Logic

N/A

Configuration parameters

N/A

Dictionaries

  • PHONE_TYPE

  • CONFIDANT_PERSON_TYPE

  • GENDER

  • PREFERRED_WAY_COMMUNICATION

  • DOCUMENT_TYPE

  • DOCUMENT_RELATIONSHIP_TYPE

  • POSITION

  • EMPLOYEE_TYPE

  • EMPLOYEE_STATUS

  • COUNTRY

  • EDUCATION_DEGREE

  • QUALIFICATION_TYPE

  • SPECIALITY_TYPE

  • SPECIALITY_LEVEL

  • SPEC_QUALIFICATION_TYPE

  • SCIENCE_DEGREE

  • ADDRESS_TYPE

  • SETTLEMENT_TYPE

  • STREET_TYPE

  • LEGAL_FORM

  • SPECIALITY_TYPE

Input parameters

Input parameter

Mandatory

Type

Description

Example

1

id

 

String

c75f-45fb-badf-6e8d20b6a8a8 (uuid).

Required.

 

7e9cffd9

2

 

 

 

 

 

Request structure

See on API-specification

Expand
titleExample
Code Block

Headers

Headers

Request data validation

Authorize

  • Verify the validity of access token

    • Return 401 in case validation fails

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

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

Validate user

  • Extract party_user (user_id) from token.

  • Check if users.person_id=$.declarations.person_id

    • in case error return 403

  • check person.tax_id=users.tax_id

    • in case error return 401 - access denied

  • Check users password is not expired

    • in case error return 401 - password expired

  • Check if users.is_blocked = false

    • in case error return 401 - access denied

Processing

N/A

Response structure examples

See on API-specification

Expand
titleExample
Code Block
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
    "declaration_number": "0000-12H4-245D",
    "start_date": "2017-03-02",
    "end_date": "2017-03-02",
    "person": {
      "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
      "first_name": "Петро",
      "last_name": "Іванов",
      "second_name": "Миколайович",
      "birth_date": "1991-08-19",
      "gender": "FEMALE",
      "tax_id": "3126509816",
      "phones": [
        {
          "type": "MOBILE",
          "number": "+380503410870"
        }
      ],
      "birth_settlement": "Вінниця",
      "birth_country": "Україна",
      "unzr": "19910819-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": "1991-08-19",
          "birth_country": "Україна",
          "birth_settlement": "Вінниця",
          "gender": "MALE",
          "email": "confidant_person@example.com",
          "tax_id": "3126509816",
          "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"
            }
          ]
        }
      ]
    },
    "employee": {
      "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "position": "P1",
      "employee_type": "DOCTOR",
      "status": "APPROVED",
      "start_date": "2017-03-02T10:45:16.000Z",
      "end_date": "2018-03-02T10:45:16.000Z",
      "party": {
        "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
        "first_name": "Петро",
        "last_name": "Іванов",
        "second_name": "Миколайович"
      },
      "division_id": "4cffa825-8b5b-4cba-9a38-fb57733e14b2",
      "legal_entity_id": "be3a154c-3e07-496d-9680-f22c443f5d0c",
      "doctor": {
        "educations": [
          {
            "country": "UA",
            "city": "Київ",
            "institution_name": "Академія Богомольця",
            "issued_date": "2017-02-28",
            "diploma_number": "DD123543",
            "degree": "MASTER",
            "speciality": "Педіатр"
          }
        ],
        "qualifications": [
          {
            "type": "SPECIALIZATION",
            "institution_name": "Академія Богомольця",
            "speciality": "Педіатр",
            "issued_date": "2017",
            "certificate_number": "2017",
            "valid_to": "2017",
            "additional_info": "додаткова інофрмація"
          }
        ],
        "specialities": [
          {
            "speciality": "THERAPIST",
            "speciality_officio": true,
            "level": "FIRST",
            "qualification_type": "AWARDING",
            "attestation_name": "Академія Богомольця",
            "attestation_date": "2017-02-28",
            "valid_to_date": "2020-02-28",
            "certificate_number": "AB/21331"
          }
        ],
        "science_degree": {
          "country": "UA",
          "city": "Київ",
          "degree": "",
          "institution_name": "Академія Богомольця",
          "diploma_number": "DD123543",
          "speciality": "Педіатр",
          "issued_date": "2017"
        }
      }
    },
    "division": {
      "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "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",
      "location": {
        "latitude": 30.1233,
        "longitude": 50.32423
      }
    },
    "legal_entity": {
      "id": "d290f1ee",
      "name": "Клініка ЦПМСД №1",
      "short_name": "ЦПМСД №1",
      "legal_form": "140",
      "public_name": "ЦПМСД №1",
      "edrpou": "5432345432",
      "status": "ACTIVE",
      "email": "email@example.com",
      "phones": [
        {
          "type": "MOBILE",
          "number": "+380503410870"
        }
      ],
      "addresses": [
        {
          "type": "RESIDENCE",
          "country": "UA",
          "area": "Житомирська",
          "region": "Бердичівський",
          "settlement": "Київ",
          "settlement_type": "CITY",
          "settlement_id": "b075f148",
          "street_type": "STREET",
          "street": "вул. Ніжинська",
          "building": "15",
          "apartment": "23",
          "zip": "02090"
        }
      ]
    },
    "status": "active",
    "scope": "family_doctor",
    "declaration_request_id": "74a6fae6-4207-4e03-a136-f2e70c6b0c02",
    "content": "Declaration content",
    "inserted_at": "2017-03-02T10:45:16.000Z",
    "updated_at": "2017-03-02T10:45:16.000Z"
  }
}

...

  1. if invalid - return 404 error (message: "declaration is not found!")

FE Fields

Mapping

 

Field BE

Field FE

Description

 

data.declaration_number

Декларація №

 

 

data.status

Статус

 

data.person
/
Пацієнт

data.person.last_name

Прізвище

 

data.person.first_name

Ім'я

 

data.person.second_name

По-батькові

 

data.person.birth_date

Дата народження

 

data.person.birth_country&birth_settlement

Місце народження

 

data.person.phones.number

Контактний номер телефону

 

data.person.tax_id

Номер облікової картки платника податків

 

data.person.emergency_contact

/
Контактна особа у разі екстренного випадку 

first_name&last_name&second_name

ПІБ

 

phones.number

Контактний номер телефону

 

data.person.confidant_person

/

Законний представник пацієнта

first_name&last_name&second_name

ПІБ

 

phones.number

Контактний номер телефону

 

documents_person.type& documents_person.number

Документ, що посвідчує особу законного представника

 

documents_relationship.type

Тип документу, що посвідчує повноваження законного представника

 

documents_relationship.number

Серія та номер документу, що  посвідчує повноваження законного представника

 

data.employee

/

Лікар

party.first_name&last_name&second_name

ПІБ

 

position

Посада

 

specialities.speciality

Спеціальність

 

specialities.speciality_officio

Спеціальність за посадою

 

specialities.level

Рівень спеціальності

 

specialities.qualification_type

Тип кваліфікації

 

specialities.attestation_name&attestation_date

Ким так коли видано 

 

specialities.certificate_number&valid_to_date

Номер сертифікату та термін дії

 

data.division

/

відділення

name

Назва відділення

 

phones.number

Телефон відділення

 

["type": "RESIDENCE"].area

Адреса відділення

 

["type": "RESIDENCE"].region

 

["type": "RESIDENCE"].settlement_type&settlement

 

["type": "RESIDENCE"].street_type&street&building

 

data.legal_entity

/

відділення

name

Назва медичного закладу

 

phones.number

Телефон медичного закладу

 

scope

scope

тип лікаря

 

inserted_at

inserted_at

дата подання

 

UI Design

Declaration.pdf

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

Response

 

3

401

Access denied

Validation failed

4

401

Password expired

Validation failed

5

403

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

Validation failed

6

404

Declaration is not found!

Validation failed

7

Специфічні

8

 

Post-processing processes

N/A

Technical modules where the method is used