Versions Compared

Key

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

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

Info

/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)

Table of Contents

Properties of a REST API method document

Page Properties
idpage_properties_method_REST API

Document type

Метод REST API

Document title

[DRAFT] Get Person Declaration [API-005-004-001-0058]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-005-004-001-0058

Microservices (namespace)

IL

Component

Declarations

Component ID

COM-005-004

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

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

Resource

{{host}}/api/persons/{{id}}/declaration

Scope

declaration:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

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

Logic

N/A

Configuration parameters

N/A

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

Input parameters

Input parameter

Mandatory

Type

Description

Example

1

id

 

String

 

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

2

Request structure

See on API-specification

Expand
titleExample
Code Block

Headers

Headers

Request data validation

Authorize

Request to process the request using a token in the headers

  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 examples

See on API-specification

  • If no records found - return empty list

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

Expand
titleResponse example
Code Block
languagejson
{
  "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

Expand
titleResponse example

 

Code Block
languagejson
{
  "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

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

 

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

3

403

 

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

4

404

 

if active declaration not found

5

6

Специфічні

7

Post-processing processes

N/A

Technical modules where the method is used

Page Properties Report
headingsID ТМ, Статус
cqllabel = "tr-mis"