Versions Compared

Key

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

...

Page Properties

Project Name

Електронний рецепт

COVID-certificate

Project abreviation

ePrescription

SVC

Developer

Edenlab

Розробник методу API. Наприклад, Edenlab

Project Manager

Mari Hulko (Unlicensed)

@Єлизавета Гессен-Дармштадська

Tech Lead

Mynchenko Andrii (SoE eHealth)

@Іоанн Воїнов

Product Owner

Igor Kostyria

@Нікодім Святогорцев

Вusiness analyst

Iryna Lishtaba (SoE eHealth) Oleksandr Zhuk (SoE eHealth) Oksana Demchenko

@Пантелеймон Нікомедійський

Status

Status
colourGreen
titleAPPROVED

Status
colourGreen
titleAPPROVED

Version

API paragraph not found

1.0

Date of release

PROD

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/licenses/update-license

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

Resource

/api/licenses/{{id}}

Наприклад: /api/persons/create

Scope

license:write

Зазначається потрібний scope

Components

ePrescription

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

Microservices

API paragraph not found

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

Protocol type

REST

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

Request type

PATCH

Тип HTTP методу, який використовується запитом, наприклад: POST | GET…

Sync/Async

Sync

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

Logic

  1. Check if any attribute has changed comparing request and licenses table data (PRM DB). If any, then:

    1. Update license data according to received request in licenses table (PRM DB)

    2. Set updated_at = now()

    3. Set updated_by = user_id.

...

  • Check that updated license exists in database

    • in case of error - return 404 (“License was not found”)

  • Check that updated license has is_primary=false flag

    • in case of error - return 409 (“Only additional license can be updated”)

  • Check that additional license flag was passed in request ($.is_primary = false)

    • in case of error - return 422 (“Additional license can not be changed to primary”)

  • Check that updated license belongs to legal entity from access token

    • in case of error - return 409 (“License doesn't correspond to your legal entity")

  • Check that license type in request equals updated license type

    • in case of error - return 409 (“License type can not be updated”)

  • Check that legal entity has active primary license (request: select id from licenses where is_active=true and is_primary=true and legal_entity_id=$.legal_entity.id and (expiry_date >= current_date() or expiry_date is null); returns at least one value returns at least one value)

    • in case of error - return 404 (“No active primary license found for legal entity”)

...