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

[DRAFT] Get declaration details via Cabinet [API-005-010-001-0191]

Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.

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

[DRAFT] Get declaration details via Cabinet [API-005-010-001-0191]

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

Input parameter

Mandatory

Type

Description

Example

1

id

 

String

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

 

7e9cffd9

2

 

 

 

 

 

Request structure

See on API-specification

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

{ "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" } }

Check exist declaration by $.id.

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

FE Fields

Mapping

 

Field BE

Field FE

Description

 

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

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

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