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

Get Device by id

Purpose

This method intended to get Device by id in patient context.

This web service is designed to return records about patient's devices by patient_id or search_params.

Specification

Link

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

Resource

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

Scope

device:read

Components

API paragraph not found

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

 

Logic

Service returns specified Device in patient context:

  • Get data from devices (MongoDB)

  • Render a response according to specification.

 

Input parameters

Input parameter

Values

Type

Description

Example

Input parameter

Values

Type

Description

Example

patient_id

 

String

Unique patient identifier

e549c257-232e-4dab-9f1e-b2322cac3968

device_id

 

String

Unique device identifier

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

 

Request structure

API paragraph not found

 

Authorize

Request to process the request using a token in the headers

 

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

 

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 = 'device:read')

    1. Return (403, 'Your scope does not allow to access this resource. Missing allowances: device:read') in case of invalid scope(s)

Access to the resource is also managed by ABAC module

Validate Patient

  • Get Person identifier from the URL

    • Check it exists in DB

      • Return 404 ('not_found') in case of error

 

Processing

API paragraph not found

 

Response structure

See on Apiary

Example:

{ "data": { "id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600", "status": "inactive", "asserted_date": "2018-08-02T10:45:00.000Z", "usage_period": { "start": "2000-01-01T00:00:00.000Z", "end": "2018-08-02T11:00:00.000Z" }, "context": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "primary_source": true, "asserter": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ], "text": "" }, "value": "97d57238-ffbe-4335-92ea-28d4de117ea2" } }, "type": { "coding": [ { "system": "eHealth/device_types", "code": "Spine_board" } ] }, "lot_number": "RZ12345678", "manufacturer": "GlobalMed, Inc", "manufacture_date": "1999-01-01T00:00:00.000Z", "expiration_date": "2020-01-01T00:00:00.000Z", "model": "NSPX30", "version": "v1.0.1", "note": "Імплант був вилучений по причині заміни на новий", "inserted_at": "2018-08-02T10:55:00.000Z", "updated_at": "2018-08-02T10:55:00.000Z" }, "meta": { "code": 200, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" } }

 

Post-processing processes

API paragraph not found

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 200

 

 

 

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