Versions Compared

Key

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

Purpose

...

This WS is designed to create new innm dosage (post).

Specification

...

Page Properties

Link

API paragraph not found

Resource

/innm_dosages

Scope

innm_dosage:write

Components

Drugs and Program medications

Microservices

API paragraph not found

Protocol type

REST

Request type

POST

Sync/Async

Sync

Public/Private/Internal

Internal. NHS Admin

Logic

...

This method is used to create INNM Dosage. Fields descriptions are listed in request Example view.

Request structure

...

See on Apiary

Example:

Expand
titleRequest example
Code Block
{
  "name": "Амідарон",
  "form": "PILL",
  "ingredients": [
    {
      "id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982",
      "dosage": {
        "numerator_unit": "MG",
        "numerator_value": 200,
        "denumerator_unit": "PILL",
        "denumerator_value": 1
      },
      "is_primary": true
    }
  ]
}

Authorize

...

  1. Verify the validity of access token

  2. Check user scope (scope = 'innm_dosage:write') in order to perform this action

    1. In case error - generate 401 response

Request to process the request using a token in the headers

Headers

...

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Request data validation

...

Validate FK 

Purpose validation: Check on existing Inmm/Innm dosage in ingredients 

...

  1. Validate request using JSON schemas (new_medication_type_innm_dosage_schema.json):

    1. Return 422 with list of validation errors in case validation fails (422 EView)

Processing

...

Create new Medication

  1. Create new record in Medications

  2. Fill data 

...

Destination

Source

id

dosage

Ing.dosage

parent_id

med_id

innm_id

Ing.innm_id

medication_id

NULL

is_primary

Ing.is_primary

inserted_at

:timestamp

inserted_by

user_id

updated_at

:timestamp

updated_by

user_id

Response structure

...

See on Apiary

Example:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 201,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": {
    "id": "09b2bffb-699a-43c0-bc9a-5066d9b9b5a8",
    "name": "Амідарон",
    "form": "PILL",
    "ingredients": [
      {
        "id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982",
        "name": "Амідарон",
        "dosage": {
          "numerator_unit": "MG",
          "numerator_value": 200,
          "denumerator_unit": "PILL",
          "denumerator_value": 1
        },
        "is_primary": true
      }
    ],
    "is_active": true,
    "inserted_at": "2017-04-20T19:14:13Z",
    "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e",
    "updated_at": "2017-04-20T19:14:13Z",
    "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd"
  }
}

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": "422",
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "error": {
    "type": "unverified",
    "message": "Property \"is_active\" has not been defined and the schema does not allow additional properties!"
  }
}

Post-processing processes

...

API paragraph not found

HTTP status codes

...

Page Properties

HTTP status code

Message

What caused the error

 201

 

 

 422

 

 

...