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

Get person declaration

Purpose

This method allows to receive active person declarations issued by current legal entity (based on access_token). It can be used to check if Patient has active declarations in other Legal Entities

Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/persons/get-person-declaration

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

Resource

GET /api/persons/{{id}}/declaration

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

Scope

declaration:read

Scope для доступу

Components

Master Patient Index

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

Microservices

il/api

ops/api

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

Protocol type

REST

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

Request type

GET

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

Sync/Async

Sync

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

Public/Private/Internal

Public

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

Input parameters

See on Apiary

Input parameter

Values

Type

Description

Example

Input parameter

Values

Type

Description

Example

id

 

String

 

b075f148-7f93-4fc2-b2ec-2d81b19a9b7b

Dictionaries

  • PHONE_TYPE

  • +DOCUMENT_TYPE

  • +DOCUMENT_RELATIONSHIP_TYPE

  • EMPLOYEE_TYPE

  • COUNTRY

  • EDUCATION_DEGREE

  • QUALIFICATION_TYPE

  • SPECIALITY_TYPE

  • SPEC_QUALIFICATION_TYPE

  • +DIVISION_TYPE

  • +ADDRESS_TYPE

  • SETTLEMENT_TYPE

  • STREET_TYPE

  • GENDER

Request structure

See on Apiary

Authorize

Request to process the request using a token in the headers

 

Headers

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • api-key:{{secret}}

 

Request data validation

  1. Validate mandatory query params

    1. person_id (id)

  2. Verify the validity of access token

  3. Check user scopes in order to perform this action

  4. Get legal_entity_id and division_id from current context

 

Processing

Search ACTIVE (declarations.active = true) person declaration using person_id in OPS_DB.declarations

In case found more than one - get newest declaration (TOP 1 order by inserted_at desc)

Response structure

See on Apiary

  • If no records found - return empty list

  • If record found and declarations.division_id = context.division_id - return short declaration details

{ "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", "signed_at": "2017-03-02T00:00:00.000Z", "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": "Україна", "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": "Бориспільське відділення Клініки Ноунейм", "legal_entity_id": "d290f1ee", "type": "CLINIC", "status": "ACTIVE", "mountain_group": false, "dls_id": "2872985", "dls_verified": true }, "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", "inserted_at": "2017-03-02T10:45:16.000Z", "updated_at": "2017-03-02T10:45:16.000Z", "reason": "manual_employee", "reason_description": "Згідно постанови 1 від 10.01.2017" } ], "paging": { "limit": 20, "cursors": { "starting_after": "56c31536a60ad644060041af", "ending_before": "56c31536a60ad644060041aa" }, "size": 50, "has_more": false } }

 

  • If record found and declarations.division_id != context.division_id - return 403 Error code

{ "meta": { "code": 403, "url": "https://example.com/resource", "type": "object", "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810" }, "error": { "type": "forbidden", "message": "Active declaration belongs to another msp" } }

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

200

 

 Short declaration info if active declaration found AND issued by legal entity that is available for access_token scope

403

 

 if active declaration found issued by other (not available by access scopes) legal entity

404

 

if active declaration not found

 



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