Цифровий регламент реєстру

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальний опис

Регламент реєстру — це цифрове представлення важливих аспектів функціонування реєстру, що складається з декларативних описів організаційної структури, моделі даних, інформаційних та адміністративних послуг, прав доступу, шаблонів витягів та повідомлень, налаштувань інтеграцій з зовнішніми системами тощо.

Регламент реєстру разом з операційною конфігурацією реєстру складають необхідний та достатній опис функціональних можливостей, які реалізує реєстр та налаштувань для забезпечення відповідного рівня якості їх надання кінцевим користувачам.

Платформа Реєстрів реалізує Low-code підхід до розробки цифрового регламенту за допомогою службових вебінтерфейсів Підсистеми моделювання регламенту реєстру. Регламент реєстру разом з історією змін зберігається у відповідному репозиторії системи контролю версій Git (Gerrit) екземпляра реєстру на Платформі задля забезпечення вимог аудиту та можливості відновлення до попередніх версій.

За валідацію, автоматизоване тестування та застосування змін регламенту до сервісів Операційної зони екземпляра реєстру відповідає Підсистема розгортання регламенту реєстру.

2. Структура регламенту реєстру

2.1. Логічне представлення

На даній структурній діаграмі представлено складові частини регламенту реєстру, які наразі підтримуються Платформою для реалізації функціональних можливостей реєстрів.

regulation structure

При моделюванні регламенту, між його складовими підтримуються зв’язки, зображені на діаграмі нижче.

regulation dependencies

2.2. Фізичне представлення

Регламент реєстру представлений в Git-репозиторії набором директорій з файлами, кожна з яких відповідає за налаштування окремого аспекту функціонування реєстру згідно вимог.

registry-regulation-structure

3. Складові регламенту реєстру

3.1. Загальні налаштування реєстру

Заплановано та задокументовано редизайн. Детальніше можна ознайомитись у розділі arch:architecture-workspace/platform-evolution/registry-settings/registry-settings.adoc

Дана складова частина регламенту відповідає за налаштування кастомізацій реєстру та представлена в репозиторії двома директоріями та файлами налаштувань в YAML-форматі:

  • ./settings/settings.yml - Налаштування кастомізацій реєстру (коротка назва, повна назва, тощо.)

Формат визначення загальних налаштувань реєстру в YAML-форматі:
settings:
  general:
    title: "<Значення налаштування>"
    titleFull: "<Значення налаштування>"
  • ./global-vars/camunda-global-system-vars.yml - Налаштування реєстру (активна тема кабінетів, поштова адреса служби підтримки, тощо.)

Формат визначення загальних налаштувань реєстру в YAML-форматі:
supportEmail: "<Значення налаштування>"
themeFile: "<Значення налаштування>"

Детальніше з дизайном підсистем, які відповідають за налаштування та застосування загальних налаштувань реєстру можна ознайомитись у відповідних розділах:

3.2. Модель даних реєстру

Дана складова частина регламенту представлена окремою директорією:

  • ./data-model - містить набір Liquibase-файлів для управління:

    • Фізичною моделлю бази даних

    • Специфікацією API доступу до даних

    • Правами доступу до даних

    • Даними для первинного завантаження

Детальніше з дизайном підсистем, які відповідають за моделювання та використання моделі даних можна ознайомитись у відповідних розділах:

3.3. Бізнес-процеси реєстру

Дана складова частина регламенту відповідає за моделі бізнес-процесів, бізнес-правил та представлена окремими директоріями:

  • ./bpmn - містить файли у BPMN-форматі з моделями адміністративних та інформаційних послуг реєстру

  • ./dmn - містить файли у DMN-форматі з моделями бізнес-правил для використання в бізнес-процесах реєстру

  • ./bp-grouping/bp-grouping.yml - містить налаштування групування та порядку відображення в кабінетах користувачів бізнес-процесів адміністративних та інформаційних послуг реєстру

Формат визначення налаштувань групування бізнес-процесів в YAML-форматі:
groups:
  - name: "<Назва групи>"
    processDefinitions:
      - "<Ключ бізнес-процесу>"
      - ...
  - ...
ungrouped:
  - "<Ключ бізнес-процесу>"
  - ...

Детальніше з дизайном підсистем, які відповідають за моделювання та використання бізнес-процесів та бізнес-правил можна ознайомитись у відповідних розділах:

3.4. UI-форми бізнес-процесів реєстру

Дана складова частина регламенту відповідає за налаштування UI-форм користувацьких задач бізнес-процесів реєстру. Представлена двома директоріями:

  • ./forms - містить файли з описом структур UI-форм у JSON-форматі, сумісному з Form.UI

  • ./form-scripts - містить JavaScript-файли з описом функцій, які використовується в UI-формах

Детальніше з дизайном підсистем, які відповідають за моделювання та використання UI-форм бізнес-процесів можна ознайомитись у відповідних розділах:

3.5. Ролі користувачів реєстру

Дана складова частина регламенту відповідає за налаштування ролей користувачів реєстру та представлена в репозиторії окремою директорією з двома файлами налаштувань в YAML-форматі:

  • ./roles/citizen.yml - містить перелік ролей отримувачів послуг реєстру

  • ./roles/officer.yml - містить перелік ролей надавачів послуг реєстру

Формат визначення регламентних ролей реєстру в YAML-форматі:
roles:
  - name: "<Службова назва ролі>"
    description: "<Опис регламентної ролі>"
  - ...

3.6. Права доступу до бізнес-процесів реєстру

Дана складова частина регламенту відповідає за налаштування прав доступу до бізнес-процесів та представлена в репозиторії окремою директорією з трьома файлами налаштувань в YAML-форматі:

  • ./bp-auth/officer.yml - Налаштувань прав доступу надавачів послуг до бізнес-процесів

  • ./bp-auth/citizen.yml - Налаштувань прав отримувачів надавачів послуг до бізнес-процесів

  • ./bp-auth/external-system.yml - Налаштувань прав доступу зовнішніх систем до бізнес-процесів

Формат визначення прав доступу до бізнес-процесів в YAML-форматі:
authorization:
  realm: "<realm: [officer,citizen,external-system]>"
  process_definitions:
    - process_definition_id: "<Ключ бізнес-процесу>"
      process_name: "<Назва бізнес-процесу>"
      process_description: "<Опис бізнес-процесу>"
      roles:
        - '<Роль>'
        - '...'
    - ...

Детальніше з дизайном підсистем, які відповідають за налаштування та використання прав доступу можна ознайомитись у відповідних розділах:

3.7. Шаблони аналітичних звітів

Дана складова частина регламенту відповідає за налаштування шаблонів інформаційних панелей для перегляду даних та журналу подій аудиту реєстру. Представлена відповідною директорією:

  • ./reports - містить шаблони інформаційних панелей у вигляді файлів JSON-формату, сумісного з Redash

Детальніше з дизайном підсистем, які відповідають за моделювання та використання шаблонів інформаційних панелей можна ознайомитись у відповідних розділах:

3.8. Шаблони витягів з реєстру

Дана складова частина регламенту відповідає за налаштування шаблонів для генерації витягів з реєстру. Представлена трьома директоріями з урахуванням типів витягів, які підтримуються Платформою Реєстрів:

  • ./excerpts - містить файли шаблонів у FTLH-форматі для генерації PDF-витягів

  • ./excerpts-docx - містить файли шаблонів у DOCX-форматі для генерації DOCX-витягів

  • ./excerpts-csv - містить файли шаблонів у JSON-форматі для генерації CSV-витягів

Детальніше з дизайном підсистем, які відповідають за моделювання та використання шаблонів витягів можна ознайомитись у відповідних розділах:

3.9. Шаблони інформаційних повідомлень реєстру

Дана складова частина регламенту відповідає за налаштування шаблонів для відправки інформаційних повідомлень користувачам реєстру. Представлена трьома директоріями з урахуванням каналів зв’язку, які підтримуються Платформою Реєстрів:

  • ./notifications/inbox - містить файли шаблонів у FTL-форматі для генерації in-app-повідомлень

  • ./notifications/email - містить файли шаблонів у FTLH-форматі для генерації тіла поштових повідомлень

  • ./notifications/diia - містить файли шаблонів у текстовому DIIA-форматі, який застосовується в екосистемі Дія для генерації повідомлень

Детальніше з дизайном підсистем, які відповідають за моделювання та використання шаблонів інформаційних повідомлень можна ознайомитись у відповідних розділах:

3.10. Інтеграція реєстру з зовнішніми системами

Дана складова частина регламенту відповідає за налаштування вихідних та вхідних інтеграцій реєстру та представлена окремою директорією з двома файлами налаштувань в YAML-форматі:

  • ./bp-trembita/configuration.yml - Налаштування точок інтеграції з зовнішніми системами згідно конфігурації реєстру

Формат визначення загальних налаштувань реєстру в YAML-форматі:
external-systems:
  external-system-name1:
        operations:
          ...
  external-system-name2:
        operations:
          ...
  ...
  • ./bp-trembita/external-systems.yml - Налаштування API для виклику бізнес-процесів зовнішніми системами

Формат визначення загальних налаштувань реєстру в YAML-форматі:
trembita:
  process_definitions:
    - process_definition_id: '<Ключ бізнес-процесу>'
      start_vars: []
      return_vars: []
   - ...

Детальніше з дизайном підсистем, які відповідають за налаштування та використання налаштувань інтеграцій з зовнішніми системами можна ознайомитись у відповідних розділах:

3.11. Тестування регламенту реєстру

Дана складова частина регламенту відповідає за налаштування симуляції API зовнішніх систем та набір автоматизованих тестів. Представлена двома директоріями:

  • ./autotests - набір BDD функціональних тестів для автоматизованого тестування реєстру

  • ./mock-integrations - набір JSON-файлів у Wiremock-форматі з описом правил мокування API зовнішніх систем з ціллю їх подальшої симуляції у процесі ручного та автоматизованого тестування реєстру.

Детальніше з дизайном підсистем, які відповідають за моделювання та використання складової регламенту можна ознайомитись у відповідних розділах: