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

[DRAFT] REST API Get Approved Episodes [API-007-006-001-0270]

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

https://e-health-ua.atlassian.net/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

[Document status] REST API [Назва методу] [ID методу]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-007-006-001-0270

Microservices (namespace)

ME

Component

Episode

Component ID

COM-007-006

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

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/episode-of-care/get-approved-episodes

Resource

{{host}}/api/patients/{{patient_id}}/episodes/approved

Scope

episode:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

This web service returns episodes, that patient gave approvals to read by a current employee.

Logic

Description of the working algorithm of the API method and the interaction of services with each other add Service logic (if necessary)

Configuration parameters

Description of the configuration parameters that are used when processing a request in the system

Dictionaries

Provides a list of links to dictionaries that are available in Confluence

Input parameters

Input parameter

Mandatory

Type

Description

Example

Input parameter

Mandatory

Type

Description

Example

1

patient_id

 

String

Patient identifier

70a9e15b-b71b-4caf-8f2e-ff247e8a5677

2

page

 

Number

Page number

2

3

page_size

 

Number

A limit on the number of objects to be returned, between 1 and 100. Default: 50

50

4

code

 

String

current diagnosis code

R80

Request structure

See on API-specification

Headers

Key

Value

Mandatory

Description

Example

Key

Value

Mandatory

Description

Example

1

Content-Type

application/json

 

Тип контенту

Content-Type:application/json

2

Authorization

Bearer {{access_token}}

 

Перевірка користувача

Authorization:Bearer {{access_token}}

3

API-key

{{secret}}

 

Секретний ключ

API-key:{{secret}}

Request data validation

Authorize

Request to process the request using a token in the headers

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case error return 401 

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

    1. Return 403 in case invalid scope(s)

Processing

  1. Select list of employees from PRM related to the current user in the current legal_entity, using data from the token

  2. Select all active approvals from Medical Events, where these employees referenced as a `granted_to`

  3. Select all the episodes from ME that are referenced as `granted resources` in the approvals from step 2. 

  4. Show episodes to the client ordered by inserted_at

Response structure examples

See on API-specification

{ "meta": { "code": 200, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": [ { "id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600", "inserted_at": "2018-08-02T10:45:16.000Z", "updated_at": "2018-08-02T10:45:16.000Z", "type": { "system": "eHealth/episode_types", "code": "primary_care" }, "status": "active", "name": "Діабет 2018", "current_diagnoses": [ { "condition": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "code": { "coding": [ { "system": "eHealth/ICPC2/conditions", "code": "A20" } ] }, "role": { "coding": [ { "system": "eHealth/diagnosis_roles", "code": "CC" } ] }, "rank": 1 } ], "diagnoses_history": [ { "date": "2018-08-02T10:45:16.000Z", "evidence": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "diagnoses": [ { "condition": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "code": { "coding": [ { "system": "eHealth/ICPC2/conditions", "code": "A20" } ] }, "role": { "coding": [ { "system": "eHealth/diagnosis_roles", "code": "CC" } ] }, "rank": 1 }, { "condition": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "code": { "coding": [ { "system": "eHealth/ICPC2/conditions", "code": "A20" } ] }, "role": { "coding": [ { "system": "eHealth/diagnosis_roles", "code": "CC" } ] }, "rank": 1 } ] } ], "status_history": [ { "status": "active", "status reason": { "coding": [ { "system": "eHealth/episode_closing_reasons", "code": "cured" } ] }, "inserted_at": "2018-08-02T10:45:16.000Z" } ], "managing_organization": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "legal_entity" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "Медікал Солюшнc" }, "period": { "start": "2018-08-02T10:45:16.000Z", "end": "2018-08-03T10:45:16.000Z" }, "care_manager": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "closing_summary": "Носові шляхи вільні, горло рожеве, температура в нормі", "status_reason": { "coding": [ { "system": "eHealth/episode_closing_reasons", "code": "cured" } ] }, "explanatory_letter": "Епізод був відмінений у зв'язку з помилкою при виборі пацієнта" } ], "paging": { "page": 2, "page_size": 50, "total_entries": 1000, "total_pages": 20 } }

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

401

Access token validation failed

 

 

3

 

403

Invalid scope

 

 

4

Специфічні

5

 

 

 

 

 

Post-processing processes

Description of actions performed on data after processing

Technical modules where the method is used

List of pages describing technical modules where the method is used

 

 

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