Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
REST API method / Метод REST API (настанова) (
Info
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

[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-008-007-0289

Microservices (namespace)

ME

Component

Patient Summary

Component ID

COM-007-008

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

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/patient-summary/get-short-encounters-by-search-params

Resource

{{host}}/api/patients/{{patient_id}}/summary/encounters

Scope

patient_summary:read

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private

Public

Purpose

Return a list of short Encounter info filtered by search params

Logic

The endpoint returns a list of short Encounter info filtered by search params

Configuration parameters

N/A (Not applicable)

Dictionaries

  1. eHealth/encounter_statuses (parameter “status“ in request / response)

  2. eHealth/resources - episode (parameter “episode “ in response)

  3. eHealth/encounter_typesclasses (parameter type“class“ in request / response):

  4. eHealth/encounter_classestypes (parameter “class“ typein request / response):

  5. SPECIALITY_TYPE (parameter “performer_speciality“ in request / response):

Input

...

parameters

Input parameter

Mandatory

Type

Description

Example

1

patient_id

 M

String

Patient Unique 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

period_start_from

 

String

 

2017-01-01

53

period_start_to

 

String

 

2017-01-01

64

period_end_from

 

String

 

2017-01-01

75

period_end_to

 

String

 

2017-01-01

86

episode_id

String

Episode identifier

f48d1b6c-a021-4d6a-a5a4-aee93e152ecc

97

status

String

Encounter status

finished

108

type

String

Encounter type

discharge

119

class

String

Encounter class

INPATIENT

1210

performer_speciality

String

VIROLOGY

Request structure

...

Headers

...

Key

...

Value

...

Mandatory

...

Description

...

Example

...

Content-Type

...

application/json

...

M

...

Тип контенту

...

Content-Type:application/json

...

Authorization

...

Bearer {{access_token}}

...

M

...

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

...

Authorization:Bearer {{access_token}}

...

api-key

...

{{secret}}

...

 

...

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

...

api-key:{{secret}}

...

X-Custom-PSK

...

{{secret}}

...

 

...

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

...

X-Custom-PSK:{{secret}}

...

11

page

 

Number

Page number

2

12

page_size

 

Number

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

50

Request structure

See on API-specification

Headers

See on Headers

Request data validation

Authorize

Request to process the request using a token in the headers

Validate token

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case error return 401

Validate scopes

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

    1. Return 403 in case invalid scope(s)

Validate patient

  • Validate patient exists in MongoDB

    • In case of error return 404 not found

Processing

  1. Get all patient's encounters

  2. Filter using Forbidden Groups

  3. Apply filters provided by user

Response structure examples

See on API-specification

...

titleExample

...

...

{
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": [
    {
      "id": "465fb6fe-2dea-4b8a-9ef7-58379d1eaab0",
      "status": "finised",
      "date": "2018-08-02T10:45:16.000Z",
      "episode": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "episode"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "class": {
        "system": "eHealth/encounter_classes",
        "code": "inpatient"
      },
      "type": {
        "coding": [
          {
            "system": "eHealth/encounter_types",
            "code": "discharge"
          }
        ]
      },
      "performer_speciality": {
        "coding": [
          {
            "system": "SPECIALITY_TYPE",
            "code": "VIROLOGY"
          }
        ]
      }
    }
  ],
  "paging": {
    "page": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 20
  }
}

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

Response

3

401

Unauthorized

Помилка підтвердження

4

1000

404

Composition not found

COMPOSITION_NOT_FOUND_404

Не знайдено медичний висновок

5

Специфічні

6

422

Only for active MPI record can be created medication request!Access token validation failed

4

401

Access token expired

5

403

 

Invalid scope

6

404

Patient not found

7

Специфічні

Post-processing processes

Description of actions performed on data after processingN/A (Not applicable)

Technical modules where the method is used

List of pages describing technical modules where the method is used

...

N/A (Not applicable)