Table of Contents | ||
---|---|---|
|
Цілі
регулювання доступності даних пацієнта в залежності від наявного контексту (декларації, направлення, прямого дозволу пацієнта тощо)
...
Ланка користувача що звертається до ресурсу та ланка користувача що створив ресурс (володіє ресурсом) співпадають
Info | ||
---|---|---|
| ||
При наявності в користувача хоча б одного активного співробітника в данному ЗОЗ з відповідною ланкою - користувач має правдо доступу до ресурсів даного ЗОЗ створених користувачем з такою ж ланкою |
Ланка - рівень медичних послуг які виконує лікар (медичний працівник, що зареєстрований у системі eHealth)
...
№ | Ланка | Спеціальності |
---|---|---|
1 | Первинна медична допомога |
|
2 | Вторинна (спеціалізована) медична допомога | TBD |
3 | Третинна (високоспеціалізована) медична допомога | TBD |
4 | Паліативна допомога | TBD |
5 | Медична реабілітація | TBD |
Для реалізації даного правила необхідно визначити відповідні атрибути користувача (Consumer), що звертається до ресурсу та відповідні атрибути самого ресурсу (Resource)
Визначення ланки для користувача (Consumer)
Consumer характеризується токеном доступу, з яким він звертається до ресурсу.
Токен містить наступну інформацію
Attribute | Description |
---|---|
user_id | ID користувача в системі |
client_id | ID клієнта, через який користувач звертається до ресурсу |
client_type | Тип клієнта (ЗОЗ, NHS Admin etc) |
1. Необхідно визначити пов'язаний party_id з даним user_id за допомогою party_users
Code Block | ||
---|---|---|
| ||
SELECT pu.party_id
FROM party_users pu
WHERE pu.user_id = :user_id; |
2. Визначити усіх employees даного party у даному ЗОЗ
Code Block | ||
---|---|---|
| ||
SELECT e.id, speciality ->> 'speciality' as speciality
FROM employees e
WHERE e.party_id = :party_id
AND e.legal_entity_id = :client_id; |
3. Визначити ланки, наявні в даного користувача виходячи з таблиці, що наведена вище
Користувач має доступ до ресурсу через направлення
...
Question | Answer |
---|---|
Чи є обмеження, за яких пацієнт не зможе виключити епізод з доступних для перегляду будь-ким (наприклад, соціально-небезпечні хвороби)? | Так |
Яким чином необхідно подовжувати права доступу, які вже не дійсні? | Оскільки обрано модель регулювання доступів ABAC, права доступу припиняють дію одразу ж, як перестають діяти умови, які ці права надавали. |
Яким чином відокремити лікарів первинної ланки від лікарів вторинної ланки для надання доступів (працюють у одному чи різних ЗОЗ)? | Ланка лікаря визначається виходячи з спеціальності за посадою на Employee PRM.employee.speciality ->> 'speciality' |
Яким чином надавати права доступу, якщо пацієнт сам не в змозі це зробити? | |
Як визначати ланку для направлення? |
...