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

Medical Events filtration by Forbidden groups_UA

Логіка фільтрації

Для кожного методу, який описано в Таблиці “Фільтрувати медичні події“ використовується наступна логіка для визначення, чи має користувач доступ до медичних даних, які належать до забороненої групи.

1. Визначити елементи забороненої групи

Визначити, чи повинен бачити користувач елементи, наявні в медичних подіях

  • Отримати всі активні елементи заборонених груп з кеш.

    • якщо кеш пустий - наповнити його всіма активними елементами заборонених груп (forbidden_group_codes та forbidden_group_services)

  • Отримати всіх активних та погоджених співробітників користувача

  • Отримати всі апрували на заборонені групи, надані пацієнтом всім співробітникам користувача

  • Сформувати перелік елементів забороненої групи, які є недоступні для користувача: виключити такі елементи з апрувалів по всім елементам заборонених груп.

2. Перевірити можливість доступу до медичних подій

Перевірити, що дані медичних подій доступні відповідно до доступу до заборонених груп:

  • Зробити перевірки на методах, які вказані в таблиці “Фільтрувати медичні події” (колонка “Метод”)

  • Додатково профільтрувати медичні події за правилом (значення в полях (колонка “Filter by“) не в списку елементів заборонених груп визначений в p.1  АБО користувач є автором (user) медичної події)

    • в разі помилки - дивитися на колонку“Result“

Як визначити, що користувач є автором медичнох події?

Перевірити party_users table: Якщо inserted_by користувачем з ME, що належить до того ж party що і користувач з токену, то він автор.

Фільтрувати медичні події

Медична подія

Метод

Фільтрувати по

Елементи забороненої групи

Результат

Додаткова інформація

Медична подія

Метод

Фільтрувати по

Елементи забороненої групи

Результат

Додаткова інформація

Episode

Get Episode by id

diagnoses_history 
(with is_active=true )

коди з довідників:

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICPC2/condition_codes

Повернути помилку 403 з типом “forbidden“

https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/583402142

Get Episode by search params

Не вказується у відповіді

https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/583403084

Get approved Episodes

Не вказується у відповіді

https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/583402954

Get active Diagnoses

current_diagnoses

Не вказується у відповіді

Summary active Diagnoses

Get Short Episodes by search params

diagnoses_history

Не вказується у відповіді

Encounter

Get encounter by id

diagnoses

actions

reasons

action_references

 

  1. діагнози по кодам з довідників:

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICPC2/condition_codes

2. дії по кодам з довідника eHealth/ICPC2/actions

3. причини по кодам з довідника eHealth/ICPC2/reasons

4. код по service_id

Повернути помилку 403 з типом “forbidden“

Get encounters by search params

Не вказується у відповіді

Get encounters in episode context

Не вказується у відповіді

 

Get encounter details in episode context

Повернути помилку 403 з типом “forbidden“

 

Condition

Get conditions in episode context

code

evidences

  1. коди по кодам з довідників:

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICPC2/condition_codes

2. evidences по кодам з довідника eHealth/ICPC2/reasons

Не вказується у відповіді

 

Get condition details in episode context

Повернути помилку 403 з типом “forbidden“

 

Get conditions by search params

Не вказується у відповіді

Get condition by id

Повернути помилку 403 з типом “forbidden“

Get Conditions

Не вказується у відповіді

Get Condition by id

Повернути помилку 403 з типом “forbidden“

Diagnostic report

Get Diagnostic report by id

conclusion_code

code

  1. conclusion_code по кодам з довідника eHealth/ICD10_AM/condition_codes

  2. код по service_id

Повернути помилку 403 з типом “forbidden“

Get Diagnostic reports by search params

Не вказується у відповіді

Get approved Diagnostic reports

Не вказується у відповіді

Get Diagnostic Report by id

Повернути помилку 403 з типом “forbidden“

Get Diagnostic Report by search params

Не вказується у відповіді

Procedure

Get Procedure by id

code

service_id

Повернути помилку 403 з типом “forbidden“

Get Procedures by search params

Не вказується у відповіді

Get Procedure by id

Повернути помилку 403 з типом “forbidden“

Get Procedures by search params

Не вказується у відповіді

Care plan

Get Care plan by id

addresses

коди з довідників:

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICPC2/condition_codes

Повернути помилку 403 з типом “forbidden“

Care plan activity

Get Care Plan activity by ID

reason_code

product_reference (if kind=service_request)

  1. reason_code по кодам з довідників:

  • eHealth/ICD10AM/condition_codes

  • eHealth/ICPC2/condition_codes

2. product_reference по:

  • service_id якщо resource type=service

  • service_group_id якщо resource type=service_group

Повернути помилку 403 з типом “forbidden“

Get Care Plan activities

Не вказується у відповіді

Service request

Get Service Requests by search params

code

код по:

  • service_id якщо resource type=service

  • service_group_id якщо resource type=service_group

Не вказується у відповіді

 

Get Service Request details w/o episode

Повернути помилку 403 з типом “forbidden“

 

Get Service Requests list Episode Context

Не вказується у відповіді

Get Service Request details with episode

Повернути помилку 403 з типом “forbidden“

Search for a service requests

Не вказується у відповіді

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