Versions Compared

Key

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

Purpose

This WS is designed to return rule engine rule details.

Key points

  1. This is a REST method used by MIS.

  2. Only authenticated and authorized employee with appropriate scope can get rule engine rule details.

Specification

Page Properties
idAPI_Specification

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/rule-engine-rules/get-rule-engine-rule-details/get-rule-engine-rule-details

Resource

/api/rule_engine_rules/{{id}}

Scope

rule_engine_rule:read

Components

Dictionaries and Registers

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private/Internal

Public

Logic

  1. Get data from rule_engine_rules collection (Mongo DB):

    1. rule_engine_rule by id

  2. Render a response according to specification.

Input parameters

Input parameter

Values

Type

Description

Example

id

1f8444a0-e48b-440b-a082-c4703233efa2

Request structure

See on Apiary

Authorize

  • Verify the validity of the access token

    • in case of error - return 401 (“Invalid access token”)

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

    • in case of invalid scope(s) - return 403 (“Your scope does not allow to access this resource. Missing allowances: rule_engine_rule:read”)

Headers

Content-Type:application/json

Request data validation

Validate rule engine rule

  1. Check that rule engine rule with such ID exists in the system (is_active = true)

    1. In case of error - return 404 "Rule with id <rule_id> is not found", where rule_id - id of rule from request

Processing

 API paragraph not found

Response structure

See on Apiary

Expand
titleResponse example
Code Block
{
  "data": {
    "id": "1f8444a0-e48b-440b-a082-c4703233efa2",
    "name": "Some name",
    "code": {
      "system": "eHealth/clinical_impression_patient_categories",
      "code": "insulin_1"
    },
    "description": "Some text",
    "is_active": true,
    "value": {
      "json": "Rule engine rule value in Json Logic format",
      "string": "Кількість з Діагнози де (Деякий з Діагноз.Кодування має Код з довідника = [E10.64, E11.64, E13.64, E14.64] та Клінічний статус = [активний] та Вид діагнозу = [заключний] та Дата створення запису >= NOW - 6 місяців) == 2"
    }
  },
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  }
}

Post-processing processes

 API paragraph not found

HTTP status codes

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

 200

 

 

...