Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3

Цілі

  • регулювання доступності даних пацієнта в залежності від наявного контексту (декларації, направлення, прямого дозволу пацієнта тощо)

...

Ланка користувача що звертається до ресурсу та ланка користувача що створив ресурс (володіє ресурсом) співпадають

Info
titleПравило

При наявності в користувача хоча б одного активного співробітника в данному ЗОЗ з відповідною ланкою - користувач має правдо доступу до ресурсів даного ЗОЗ створених користувачем з такою ж ланкою


Ланка - рівень медичних послуг які виконує лікар (медичний працівник, що зареєстрований у системі eHealth)

...

ЛанкаСпеціальності
1Первинна медична допомога
  • Педіатр
  • Терапевт
  • Сімейний лікар
2Вторинна (спеціалізована) медична допомога TBD
3

Третинна (високоспеціалізована) медична допомога

TBD
4Паліативна допомогаTBD
5Медична реабілітаціяTBD

Для реалізації даного правила необхідно визначити відповідні атрибути користувача (Consumer), що звертається до ресурсу та відповідні атрибути самого ресурсу (Resource)

Визначення ланки для користувача (Consumer)

Consumer характеризується токеном доступу, з яким він звертається до ресурсу.

Токен містить наступну інформацію

AttributeDescription
user_idID користувача в системі
client_idID клієнта, через який користувач звертається до ресурсу
client_typeТип клієнта (ЗОЗ, NHS Admin etc)


1. Необхідно визначити пов'язаний party_id з даним user_id за допомогою party_users

Code Block
languagesql
SELECT pu.party_id
FROM party_users pu
WHERE pu.user_id = :user_id;

2. Визначити усіх employees даного party у даному ЗОЗ

Code Block
languagesql
SELECT e.id, speciality ->> 'speciality' as speciality
FROM employees e
WHERE e.party_id = :party_id
AND e.legal_entity_id = :client_id;

3. Визначити ланки, наявні в даного користувача виходячи з таблиці, що наведена вище

Користувач має доступ до ресурсу через направлення

...

QuestionAnswer

Чи є обмеження, за яких пацієнт не зможе виключити епізод з доступних для перегляду будь-ким (наприклад, соціально-небезпечні хвороби)?

Так

Яким чином необхідно подовжувати права доступу, які вже не дійсні?

Оскільки обрано модель регулювання доступів ABAC, права доступу припиняють дію одразу ж, як перестають діяти умови, які ці права надавали.
Яким чином відокремити лікарів первинної ланки від лікарів вторинної ланки для надання доступів (працюють у одному чи різних ЗОЗ)? 

Ланка лікаря визначається виходячи з спеціальності за посадою на Employee

PRM.employee.speciality ->> 'speciality'

Яким чином надавати права доступу, якщо пацієнт сам не в змозі це зробити? 
Як визначати ланку для направлення?

...