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

[DRAFT] REST API Get Episodes by search params [API-007-006-001-0268]

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-0268

Microservices (namespace)

ME

Component

Episode

Component ID

COM-007-006

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

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

Resource

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

Scope

episode:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

This web service is designed to return episodes by search parameters.

Logic

Use period_from period_to to find episodes that were active in a certain period of time.

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

 

 

 

 

 

2

 

 

 

 

 

Request structure

See on Apiary

See on API-specification

Headers

Key

Value

Mandatory

Description

Example

Key

Value

Mandatory

Description

Example

1

Content-Type

application/json

M

Тип контенту

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 of error return 401 

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

    • Return 403 in case invalid scope(s)

Access to the resource is also managed by ABAC module.

Processing

A list of processes related to receiving, changing or transmitting data according to the logic defined in the REST API

Response structure examples

See on Apiary

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 } }
  1. Order by inserted_at 

  2.  In case of searching by code:

    1. select episode where ME.patients.episodes.current_diagnoses[*].code.coding[*].code == code(search param)

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

 200

 

 

 

3

Специфічні

4

 

 

 

 

 

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

 

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