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

[DRAFT] Get Device by id [API-007-002-001-0230]

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

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

@Mykhaylo Khapchyk (SoE eHealth)

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-007-008-004-0284

Microservices (namespace)

ME

Component

Patient Summary

Component ID

COM-007-008

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

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/patient-summary/get-device-by-id

Resource

{{host}}/api/patients/{{patient_id}}/summary/devices/device_id

Scope

patient_summary:read

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private

Public

Purpose

This web service is designed to return detailed information of the patient’s device.

Logic

 N/A (Not applicable)

Configuration parameters

N/A (Not applicable)

Dictionaries

  1. eHealth/resources - patient (parameter “patient_id“ in request)

  2. eHealth/resources - device(parameter “device_id“ in request)

  3. external_system - employee (parameter “identifier“ in response)

  4. device_name_type (parameter “name:type“ in response)

  5. eHealth/device_statuses (parameter “status“ in response)

  6. device_properties (parameter “property:code“ in response)

  7. eHealth/ucum/units (parameter “property:value_quantity:low:system“ in response)

  8. eHealth/ucum/units (parameter “property:value_range:high:system“ in response)

  9. device_definition_classification_type (parameter “type“ in response)

  10. eHealth/resources - device_definition(parameter “definition“ in response)

  11. eHealth/resources - device(parameter “parent“ in response)

  12. eHealth/resources - employee(parameter “recordet“ in response)

  13. eHealth/resources - encounter (parameter “context“ in response)

  14. device_status_reasons (parameter “status_reason“ in response)

Input parameters

Input parameter

Mandatory

Type

Description

Example

Input parameter

Mandatory

Type

Description

Example

1

patient_id

 M

String

Unique MPI patient identifier

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

2

device_id

 M

String

Unique device identifier

340b86fd-23f3-4a33-94c5-8ec19d116c33

Request structure

See on API-specification

Headers

See on Headers

Authorize

Request to process the request using a token in the headers

Request data validation

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)

Access to the resource is also managed by ABAC module.

Validate patient

  • Validate patient exists in MongoDB

    • In case of error return 404 not found

Validate device

  • Validate device exists in MongoDB

    • In case of error return 404 not found

  • Check device belongs to patient

    • In case of error return 404 not found

Processing

  1. Get device by ID

  2. Ensure that requested device relates to requested Patient

  3. Render a response according to specification

Response structure examples

See on API-specification

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

 

200

 

 Response

 

3

 

401

 

Access token validation failed

 

4

 

401

 

Access token expired

 

5

 

403

Your scope does not allow to access this resource. Missing allowances: patient_summary:read 

Forbiden

 

6

 

404

 

 Not found

 

7

Специфічні

Post-processing processes

N/A (Not applicable)

Technical modules where the method is used

N/A (Not applicable)

 

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