Versions Compared

Key

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

Purpose

API paragraph not foundThis method allows to add a role to an employee according to the type of medical service for which the role is being added.

Specification

Page Properties
idAPI_Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/healthcare-services/add-employee-role eHealth MIS API · Apiary

Посилання на Apiary або Swagger

Resource

/api/employee_roles

Посилання на ресурс, наприклад: /api/persons/create

Scope

employee_role:write

Scope для доступу

Components

Scopes modelEmployees

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

Microservices

API paragraph not foundil/api

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

REST

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

Request type

POST

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

Метод є синхронним чи асинхронним?

Public/Private/Internal

Public

Потрібно зазначити тип методу за ступенем доступності

Logic

  1. Only authenticated and authorized user can use this service

  2. Employee role must be valid and consistent, i.e. all "foreign keys" must be valid

  3. It can be only one active employee_role for the single employee and healthcare service

Request structure

...

Input parameters

ATTRIBUTES - see on Apiary

Request structure

Example:

Expand
titleRequest example
Code Block
{
  "healthcare_service_id": "98b6ed10-17b4-44f1-892c-7514f66bf505",
  "employee_id": "9d229fcb-6a77-4574-99a5-30729aa518fd"
}

...

  1. Verify the validity of access token

    Return
    • return 401 in case validation fails

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

    Return
    • return 403 in case invalid scope(s)

  3. If BLOCK_UNVERIFIED_PARTY_USERS is true, then check party's data match following condition: verification_status != NOT_VERIFIED or (verification_status = NOT_VERIFIED and updated_at <= current_date - UNVERIFIED_PARTY_PERIOD_DAYS_ALLOWED):

    • in case not match - return 403 ("Access denied. Party is not verified")

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

  • api-key:uXhEczJ56adsfh3Ri9SUkc4en

...

Processing

Save object to DB

Parameter

Source

Description

id

UUID

Autogenerated

start_date

Timestamp: now()

Get current date-time

status

Const: ACTIVE

By default ACTIVE for new records

is_active

Const: TRUE

Always TRUE for new records

inserted_at

Timestamp: now()

Get current date-time

inserted_by

Token: user_id

Extract user from token

updated_at

Timestamp: now()

Get current date-time

updated_by

Token: user_id

Extract user from token

Response structure

See on Apiary

Example:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 201,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "id": "7c3da506-804d-4550-8993-bf17f9ee0402",
    "healthcare_service_id": "98b6ed10-17b4-44f1-892c-7514f66bf505",
    "employee_id": "9d229fcb-6a77-4574-99a5-30729aa518fd",
    "start_date": "2019-04-20T19:14:13Z",
    "end_date": "2017-12-20T19:14:13Z",
    "status": "ACTIVE",
    "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"
  }
}

...

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

201

 Response

 

401

 

 Invalid Invalid access token

403

Invalid scope(s)

409

Validation failed

409422

Validation failed