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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Мета

Цей алгоритм використовується для створення зв’язку між довіреною особою та пов’язаною особою та збереження його в таблиці 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

Ключові положення

  1. Ця процедура використовує дані набору даних для збереження взаємозв’язку між двома особами з бази даних mpi confidant_person_relationships та збереження документів, що підтверджують взаємозв’язок confidant_person_relationship_documents.

  2. Ця процедура може використовуватися в різних процесах і не обмежується конкретним процесом.

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

 input parameters
{
	"confidant_person_id": "70a9e15b-b71b-4caf-8f2e-ff247e8a5677",
	"person_id": "70a9e15b-b71b-4caf-8f2e-ff247e8a5678",
	"verification_status": "VERIFICATION_NEEDED",
	"verification_reason": "ONLINE_TRIGGERED",
    "confidant_person_relationship_documents": [
          {
            "type": "BIRTH_CERTIFICATE", 
            "number": "АА120518",
            "issued_by": "Рокитнянським РВ ГУ МВС Київської області", (optional)
            "issued_at": "2017-02-28" (optional)
          }
        ],
	"inserted_by": "70a9e15b-b71b-4caf-8f2e-ff247e8a5677", (optional) 
	"updated_by": "70a9e15b-b71b-4caf-8f2e-ff247e8a5678", (optional)
	"active_to": "2022-01-01" (optional)
}

Перевірити довірену особу

  • Перевірити, чи 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')

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

  1. Створити взаємозв'язок між двома персонами до таблиці 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 вказано у вхідних параметрах, в іншому випадку - залишити поле пустим)

  2. Для кожної сутності в масиві 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

  • No labels