Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

[DRAFT] REST API Get Device context [API-007-002-001-0232]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-007-002-001-0232

Microservices (namespace)

ME

Component

Devices and equipment

Component ID

COM-007-002

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

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/medication-statement/get-device-context

Resource

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

Scope

medical_event_context:read

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private

Public

Purpose

This method allows to get an ID of the episode that is a context of the Device, in order to create an approval on the episode, and receive access to the medical events related to that episode, including the Device.

This method allows to get the context of Device in order to create approval on episode and receive access to other medical events.

Logic

Service returns context_episode_id of the device:

...

  • Get Device object bydevice_id from devices (MongoDB)

  • Get device.context.identifier from Device object

  • Call Get Encounter context :

    • Get Encounter objectby device.context.identifier (device.context.identifier = encounter._id)
      AFTER

    • Get encounter.episode from Encounter object

  • Render a response according to specification

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

1

patient_id

 

String

Patient identifier

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

2

device_id

 

String

Device identifier

a10aeafb-0df2-4091-bc83-f07e92a100ae

Request structure

See on API-specification

Expand
titleExample
Code Block

Headers

Headers

Request data validation

Authorize

  • Verify the validity of access token

    • Return (401, 'Invalid access token') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'Invalid access token')

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

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

Validate Person

  • Get Person identifier from the URL

  • Check it exists in DB

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

Validate Encounter

  • Get Device identifier from the URL

    • Check it exists in DB

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

    • Check Device belongs to patient

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

Validate Device

  • Get Device identifier from the URL

    • Check it exists in DB

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

    • Check Device belongs to the patient

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

Processing

N/A

Response structure examples

See on API-specification

Expand
titleExample
Code Block
languagejson
{
  "data": {
    "episode": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "episode"
            }
          ]
        },
        "value": "7c3da506-804d-4550-8993-bf17f9ee0403"
      },
      "display_value": "null"
    }
  },
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  }
}

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

3

Специфічні

4

Post-processing processes

N/A

Technical modules where the method is used

Page Properties Report
headingsID ТМ, Статус
cqllabel = "tr-mis"

...