Versions Compared

Key

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

Мета

Даний метод дозволяє перевірити поточний кумулятивний статус вказаної персони, а також статуси перевірки для кожного зі стрімів: DRFO, DRACS смерті, DRACS народження, DRACS змінити ПІБ та ручна НСЗУвеб-сервіс (WS) розроблений для отримання поточного статусу верифікації персони користувача та дані і статус перевірки взаємозв'язків.

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

Apiary

Expand
title[UPD] Response
Code Block
languagejson
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "person_verification": {
      "verification_status": "NOT_VERIFIED",
      "details": {
        "drfo": {
          "verification_status": "NOT_VERIFIED",
          "verification_reason": "AUTO",
          "result": "12"
        },
        "dracs_death": {
          "verification_status": "NOT_VERIFIED",
          "verification_reason": "AUTO",
          "verification_comment": "Необхідно повторно підтвердити факт смерті у пацієнта"
        },
        "dracs_birth": {
          "verification_status": "NOT_VERIFIED",
          "verification_reason": "AUTO_ONLINE",
          "verification_comment": "Необхідно повторно підтвердити дані свідоцтва про народження пацієнта"
        },
        "dracs_name_change": {
          "verification_status": "VERIFICATION_NEEDED",
          "verification_reason": "AUTO_ONLINE",
          "verification_comment": "Пацієнт можливо замінив Прізвище"
        },
        "nhs": {
          "verification_status": "NOT_VERIFIED",
          "verification_reason": "AUTO",
          "verification_comment": "Бракує даних паспорту пацієнта та його ІПН"
        }
      }
    },
    "confidant_person_relationship_verification": {
      "verification_status": "VERIFICATION_NEEDED",
      "verification_reason": "Встановлено вручну у процесі реєстрації Пацієнта Лікарем",
      "verification_comment": "Підтверджено на підставі свідоцтва про народження"
    }
  }
}

Авторизація

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

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

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

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

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

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

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

Перевірити пацієнта

  • Отримати ідентифікатор пацієнта з URL

  • Перевірити, чи існує в таблиці персон в mpi DB

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

  • Перевірити запис по перевірці персони, що існує в mpi DB, таблиця person_verifications

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

Service logic

Service returns verification info for a specified person:

  • Get person from mpi.persons table

  • Get person verification details from mpi.person_verifications table

  • Render a response according to specification

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

Сервіс повертає інформація по верифікації по вказаній персоні:

  • Отримати персону з таблиціmpi.persons

  • Отримати деталі по перевірці з таблиці mpi.person_verifications

  • Відобразити запит у відповідності до специфікації.
    • в разі помилки - повернути (401, 'Invalid access token')

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

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

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

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

  • Якщо person_id та applicant_person_id з токену не рівні перевірити існування запису по взаємозв'язку з довіреною особою в mpi.confidant_person_relationships

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

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

  1. Отримати person_id та applicant_person_id з токену

  2. Отримати деталі по верифікації персони з таблиці mpi.person_verifications

  3. Отримати взаємозв'язки з таблиці mpi.confidant_person_relationships, де:

    1. person_id=person_id з токену

    2. confidant_person_id = applicant_person_id

    3. AND is_active=true

  4. Відобразити відповідь у відповідності до специфікації