/
PIS. Reject Person request_UA

ЕСОЗ - публічна документація

PIS. Reject Person request_UA

Мета

Даний веб-сервіс (WS) розроблено для відмови запиту на персону, який був перед цим створений персоною.

Основні положення

  1. Тільки автентифіковані та авторизовані користувачі з відповідними скоупами можуть відмінити запит на персону.

Специфікація

Apiary

Авторизація

  • Перевірити валідність токену доступу

    • Повернути (401, 'Invalid access token') в разі неуспішних перевірок

  • Перевірити, що токен дійсний

    • в разі помилки - повернути (401, 'Invalid access token')

  • Перевірити скоупи користувача на можливість виконання даної дії (scope = 'person_request:reject_pis')

    • Повернути (403, 'Your scope does not allow to access this resource. Missing allowances: person_request:reject_pis') в разі невалідних скоупів

  • Перевірити, що токен містисть person_id

    • в разі помилки - повернути (401, 'Invalid access token')

Перевірити персону

  • Отримати person_id з токену (x-person-id хедер)

  • Перевірити, що статус персони активна (status = ‘active' & is_active = 'true’)

    • в разі помилки - повернути 404 ('not found')

Перевірити довірену особу та взаємозв'язок (опційно)

Якщо персона юридично не дієздатна - система має переконатись, що її дані оновлюються довіреною особою та є зареєстрований та верифікований взаємозв'язок.

Отримати applicant_person_id з токену, порівняти цого до person_id з токену:

  • якщо рівний - перевірити, що персона має бути не авторизована як довірена особа, що вона не відповідає наступним правилам:

    • вік персони < no_self_registration_age глобальному параметру;

    • що вік персони між значенням no_self_registration_age та person_full_legal_capacity_age глобальних параметрів та персона не має документу з типом з конфігураційного параметру PIS_PERSON_LEGAL_CAPACITY_DOCUMENT_TYPES;

    • вік персони > person_full_legal_capacity_age глобального параметру та існує хоча б один взаємозв'язок активний та погоджений з довіреною особою з персоною (викорисовуючи наступний процес Check confidant person relationship з person_id = person з запиту - очікується відповідь :ok, :approved)

      • в разі помилки - повернути 409 (‘Request must be authorized by confidant person’)

  • Якщо не рівний - перевірити взаємозв'язок по наступним крокам:

    • Перевірити, що зареєстрований взаємозв'язок між person_id та applicant_person_id(MPI.confidant_person_relationships)

    • Перевірити, що взаємозв'язок є VERIFIED

      • в разі помилки - повернути 409 (‘Can’t confirm relationship’)

    • Перевірити, що існує applicant_person_id (status = 'active' & is_active = 'true') та має будь-який verification_status але не NOT_VERIFIED

      • в разі помилки - повернути 409 (‘Confidant person not found or is not verified’)

Перевірити запит на персону

  • Перевірити, що запит на персону:

    • існує в il DB

    • належить пацієнту

      • в разі помилки - повернути 404 ('not found')

  • Перевірити, що статус запиту на персону = NEW, APPROVED

    • в разі помилки - повернути 403 (' Only person request with NEW or APPROVED statuses can be rejected')

Сервісна логіка

  1. Оновити запит на персону в таблиці il.person_requests:

    1. встановити статус = 'REJECTED'

  2. Додати новий статус до івент менеджера

Поле

Значення

Поле

Значення

event_type

StatusChangeEvent

entity_type

PersonRequest

entity_id

$.id

properties.status.new_value

$.status

event_time

$.updated_at

changed_by

$.changed_by

Related content

PIS. Create Person authentication method request_UA
PIS. Create Person authentication method request_UA
More like this
PIS. Get Person request details_UA
PIS. Get Person request details_UA
More like this

ЕСОЗ - публічна документація