Мета
Цей алгоритм використовується для створення зв’язку між довіреною особою та пов’язаною особою та збереження його в таблиці https://e-health-ua.atlassian.net/wiki/spaces/PCAB/pages/17428021390/MPI#confidant_person_relationships.
Цей алгоритм зараз використовується такими WS:
TRUSTED PIS. Confidant patient sign-up
PIS. Confidant patient sign-up registration
https://edenlab.atlassian.net/wiki/spaces/EH/pages/2980872869
Ключові положення
Ця процедура використовує дані набору даних для збереження взаємозв’язку між двома особами з бази даних mpi confidant_person_relationships та збереження документів, що підтверджують взаємозв’язок confidant_person_relationship_documents.
Ця процедура може використовуватися в різних процесах і не обмежується конкретним процесом.
Специфікація
Перевірити довірену особу
Перевірити, чи confidant_person_id вже не зберігається, як person_id в таблиці confidant_person_relationships
в разі помилки - повернути 422 ('Patient who has confidant person can not be used as confidant for other patients')
Перевірити первинність відносин
Викликати Check confidant person relationship для перевірки, чи вже існує взаємозв'язок
в разі помилки - повернути 422 ('Relationship between confidant patient and related patient already exists')
Сервісна логіка
Створити взаємозв'язок між двома персонами до таблиці confidant_person_relationships, де:
confidant_person_id = $.confidant_person_id
person_id = $.person_id
is_active = true
verification_status = $.verification_status
verification_reason = $.verification_reason
inserted_by = $.inserted_by
updated_by = $.updated_by
active_to = $.active_to (тільки якщо active_to вказано у вхідних параметрах, в іншому випадку - залишити поле пустим)
Для кожної сутності в масиві confidant_person_relationship_documents зберегти його до таблиці confidant_person_documents, де:
confidant_person_relationship_id = relationship.id
type = $.confidant_person_relationship_documents[i].type
number = $.confidant_person_relationship_documents[i].number
issued_at = $.confidant_person_relationship_documents[i].issued_at
issued_by = $.confidant_person_relationship_documents[i].issued_by
inserted_by = $.inserted_by
updated_by = $.updated_by