Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel3

Required parameters are marked with "*"

...

Purpose*

API paragraph not found

...

Purpose

This method intended to get all Devices in patient context by params

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

Specification

Page Properties

Link

https://ehealthmedicaleventsapimedicaleventsmisapi.docs.apiary.io/#reference/medical-events/device/get-devices-by-search-params

Resource

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

Scope

device:read

Components

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescriptionAPI paragraph not found

Microservices

Перелік мікросервісів, які використовує метод API. Наприклад: Auth, ABACAPI paragraph not found

Protocol type

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Logic*

...

Public

Logic

Service returns specified all Devices in patient context:

  • Get data from devices (MongoDB)

  • Filter list above by submitted search parameters

    • It must be allowed to pass multiple comma-separated values for some query parameters:

      • type

      • definition

      • status

  • Sorting by inserted_at desc

  • Render a response according to specification.

Filters

Filter

Values

Type

Description

Example

page

Number

Page number

2

page_size

Number

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

50

type

String

spine_board

encounter_id

String

09dc3ed7-2169-45d8-8fa3-d918c6839bf9

episode_id

String

09dc3ed7-2169-45d8-8fa3-d918c6839bf9

asserted_date_from

String

1990-01-01

asserted_date_to

String

2000-01-01

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

...

API paragraph not found

...

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:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "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"
    }
  ],
  "paging": {
    "page": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 20
  }
}

Post-processing processes

...

API paragraph not found

HTTP status codes

...

HTTP status code

Message

What caused the error

 200