Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Короткий опис метода
Page Properties

ID метода

Автор

Версія документа

Статус документа

Назва метода (укр.)

Назва метода (eng.)

Note

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

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

Properties of a REST API method document

Document type

Метод REST API

Document title

[DRAFT] Get Personal info [API-005-010-006-0207]

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-006-0207

Microservices (namespace)

IL

Component

Patient Cabinet

Component ID

COM-005-010

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

https://ehealthmisapi1.docs.apiary.io/#reference/public.-patient-cabinet/cabinet/get-personal-info

Resource

{{host}}/api/cabinet/persons

Scope

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

This WS is designed to get the personal information of patient by token

Logic

N/A

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

1

2

 

 

 

 

 

Request structure

See on API-specification

Expand
titleExample
Code Block

Headers

Headers

Request data validation

Validate token

  • Check token existance

    • in case error return 404 - token was not found

  • Check expiration date tokens.expires_at 

    • if  tokens.expires_at < now() return 401 - access denied

  • Extract user_id from token

Validate role

  • Check users_roles.user_id=&.user and user_roles.role_id = roles.id where roles.name = CABINET

    • in case error return 403

Validate person

  • Check if mithril.users.person_id = mpi.persons.id and mithril.users.tax_id = mpi.persons.tax_id

    • in case error return 401

  • Check if users.is_blocked = false

    • in case error return 401

  • Check users password is not expired

    • in case error return 401 - password expired

Processing

In case nothing found return 404 - user was not found

Response structure examples

See on API-specification

Expand
titleExample
Code Block
languagejson
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "first_name": "Петро",
    "last_name": "Іванов",
    "second_name": "Миколайович",
    "id": "7e9cffd9-c75f-45fb-badf-6e8d20b6a8a8"
  }
}

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

 Response

 

3

401

 

Validation failed

4

403

 

Validation failed

5

404

 

Validation failed

6

Специфічні

7

 

Post-processing processes

N/A

Technical modules where the method is used