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

RC_Технічний опис бізнес-процесу виписування рецепту в ЕСОЗ (загальний процес для усіх рецептурних ЛЗ, в т.ч. і тих, які підлягають реімбурсації)

 станом на 10.06.2022

Передумови

МІС не може реалізувати модуль виписування рецептів без кабінету лікаря.

Загальні передумови для процесу виписування рецептів (Модуль ПР) в закладі охорони здоров’я (далі ЗОЗ):

  • ЗОЗ зареєстровано в Системі;

  • лікар зареєстровано в системі як employee;

  • підрозділ в якому працює лікар зареєстровано в Системі.

Окремі випадки.

Додаткові передумови до виписування рецептів за програмами реімбурсації:

  • ЗОЗ має договір з НСЗУ.


API по виписуванню рецепту в системі eHealth:

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement

Підготовчий етап для початку виписування рецепту

Процес виписування рецепту для конкретного пацієнта в системі починається зі збору всіх необхідних параметрів для успішного виконання запиту:

Create Medication request Request

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request-requests/create-medication-request-request

Підготовчий етап складається із таких кроків:

  1. Визначити, чи може лікар виписати рецепт.

  2. Збір параметрів щодо переходу на процес виписування ЕР

  3. Збір параметрів щодо характеристик рецепту

  4. Збір параметрів щодо лікарського засобу, який виписується, якщо ЕР створюється на основі плана лікування

  5. Збір параметрів щодо лікарського засобу, який виписується, якщо ЕР створюється без плану лікування

  6. Збір параметрів щодо кількості лікарського засобу

  7. Збір параметрів щодо строків ЕР

  8. Збір параметрів щодо прийому ліків.

 

0. Визначити, чи може лікар виписати рецепт

МІС повинна забезпечити користувачу отримати перелік програм за якими він може виписати рецепт. Разом з тим, лікарю повинен бути доступний перелік програм, для яких у нього відсутній доступ до виписування з інформуванням лікаря про причини неможливості виписки рецепту за програмами.

Правила доступу до виписування рецептів за програмою для конкретного лікаря визначаються параметрами програми:

  • employee_types_to_create_medication_request,

  • speciality_types_allowed,

  • skip_employee_validation,

  • providing_conditions_allowed,

  • skip_medication_request_employee_declaration_verify,

  • skip_medication_request_legal_entity_declaration_verify.

Отримання переліку всіх програм, що доступні до виписування рецептів здійснюється методом Get medical Program List

https://uaehealthapi.docs.apiary.io/#reference/internal.-nhs-admin/medical-programs/get-medical-programs-list  

Отримання деталей щодо конкретної програми здійснюється з використанням методу Get Medical Program by ID

https://uaehealthapi.docs.apiary.io/#reference/internal.-nhs-admin/medical-programs/get-medical-program-by-id  

1. Збір параметрів щодо переходу на процес виписування ЕР

Значення даних параметрів повинні відповісти на питання щодо рецепту: 

  • кому виписується ЕР; 

  • чому виписується ЕР;

  • ким виписується ЕР,  

  • де виписується ЕР

  • за якою програмою виписується ЕР.

1.1. Кому виписується ЕР

В запиті необхідно вказати кому буде виписуватись рецепт, вказавши ідентифікатор пацієнта: person_id.

1.2.  Чому виписується ЕР

Необхідно вказати в рамках якої медичної події (Medical Event)  даний рецепт виписується. Для цього в атрибуті context вказати значення value, що є ідентифікатором encounter_id медичної події, наприклад, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c".  Посилання на context при створенні ЕР визначено як обов’язкова умова.

При створенні ЕР за програмою, у якій згідно налаштувань  повинна відбуватися перевірка значень первинного діагнозу згідно значень, що зазначені у параметрах CONDITIONS_ICD10_AM_ALLOWED та/чи CONDITIONS_ICPC2_ALLOWED, що визначені у обраній медичній програмі та взаємодії (медичній події). 

При виписуванні ЕР, обов’язкове використання плану лікування є у випадках, коли параметр відповідної медичної програми “care_plan_required”= True. В таких випадках, в об’єкті based_on ЕР необхідно вказати id наступних об’єктів:

  1. в рамках якого плану лікування (Careplan) виписується даний ЕР. Для цього в атрибуті

identifier типу care_plan необхідно вказати значення value, що є ідентифікатором плану лікування в рамках якого виписується ЕР.

  1. в рамках якої активності відповідного плану лікування (Careplan) виписується даний ЕР. Для цього в атрибуті

identifier типу activity вказати значення value, що є ідентифікатором активності в рамках якої виписується ЕР.

У випадках, коли посилання на план лікування та активність плану лікування, в рамках якого виписується ЕР є не обов’язковими згідно налаштувань медичної програми за якою виписується такий ЕР, лікар самостійно приймає рішення про необхідність посилання на план лікування та активність плану лікування в ЕР.

1.3.  Ким виписується ЕР

 Передати інформацію про лікаря employee_id.

1.4.   Де виписується ЕР

Передати інформацію про підрозділ division_id.

1.5. За якою програмою виписується ЕР

Визначити ідентифікатор медичної програми з типом Medication medical_program_id за яким буде здійснюватися виписування ЕР. 

2. Збір параметрів щодо характеристик рецепту

Значення параметрів щодо характеристик рецепту повинні відповісти на питання: рецепт створюється для аптеки, категорія рецептів на ліки загального призначення, рецепт виписується за конкретною програмою.

2.1.Необхідно вказати, що за даним рецептом необхідно отримати ліки в аптечному закладі, в параметрі  "intent" прописати значення "order".

2.2.Необхідно вказати, що рецепт є в категорії рецептів загального призначення, в параметрі "сategory"  прописати значення  "community".

2.3. У випадку присутності медичної програми в плані лікування, то   "medical_program_id" повинен дорівнювати значенню параметру “program.identifier.value” плана лікування.

3. Збір параметрів щодо лікарського засобу

3.1. який виписується, якщо ЕР створюється на основі плана лікування

Значення даного параметру повинне відповісти що саме лікар виписує пацієнту.

Якщо ЕР виписується на основі плану лікування, то в плані лікування вже обрано medication_id і МІС повинен скопіювати це значення з активності плана лікування, яку можна отримати з параметру medication_id=detail.product_reference.identifier.value.

Дане значення необхідно надалі використовувати при формуванні ЕР.

Обов’язковість використання плану лікування при виписуванні ЕР визначено налаштуваннями медичної програми параметром “care_plan_required” = True. 

Поточні налаштування для середовищ Препрод та Прод див. на сторінці Confluence: Налаштування медичних програм  

3.2. який виписується, якщо ЕР створюється без плану лікування

Лікар повинен мати можливість виписати ЕР на ідентифікатор лікарського засобу medication_id.

Лікарський засіб складається з:

  1. набору МНН (інгредієнтів) (масив ingredients),  

по кожному інгрідієнту зазначається його хімічне дозування у перерахунку на фізичну субстанцію (наприклад, 100 мг на 1 мл: dosage.numerator_value=100, dosage.numerator.unit=mg, dosage.denumerator_value=1, dosage.denumerator_unit=ml); 

  1. назви лікарської форми лікарського засобу (параметр “form” словник Medication Form);

  2. масиву можливих пакувань лікарського засобу в первинній упаковці (масив “packages”)

  3. назви лікарського засобу (параметр “name”).

Для визначення параметру medication_id слід використовувати довідник ліків, що існує в ЕСОЗ використовуючи запит Get Drugs V2 та в залежності від обраних параметрів для фільтру показувати лікарю відповідний до запитів перелік лікарських засобів.

Get drugs list v2

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/drugs/get-drugs-list-v2

 Основні параметри у відповіді на запит:

1. name (dosage_name) Назва лікарського засобу на яку виписує лікар та назва яка відображається в рецепті

Приклади:

  • Декаметоксин 0.2 мг/мл, розчин

  • Метронідазол 10 мг/г, гель вагінальний

  • Метронідазол 500 мг, капсули

  • Натаміцин 100 мг, пессарії вагінальні

  • Амоксицилін 1000 мг, таблетки, що диспергуються

  • Неоміцин 6500 МО/мл, Поліміксин 10000 МО/мл, Дексаметазон 0.25 мг/мл, Фенілефрин 2.5 мг/мл, спрей назальний

2. form – Лікарська форма лікарського засобу згідно довідника MEDICATION FORM.

3. daily_dosage - підтримуюча добова доза, в одиницях виміру сутності ingredients.dosage.denumerator_unit (innmХ.dosage.denumerator_unit) (значення довідника MEDICATION_UNIT)

4. max_daily_dosage - максимальна добова доза, в одиницях виміру сутності ingredients.dosage.denumerator_unit (innmХ.dosage.denumerator_unit) (значення довідника MEDICATION_UNIT)

5. масив ingredients - масив МНН (субстанцій, хімічних речовин тощо) з вказанням дозування кожного МНН на одиницю виміру сутності 

  1. ingredients.name - Міжнародна непатентована назва лікарського засобу на українській мові

  2. ingredients.name_original - Міжнародна непатентована назва лікарського засобу на латині

  3. ingredients.dosage - в даному об’єкті по кожному МНН вказується кількість діючої речовини

    1. ingredients.dosage.numerator_value (innm(х).dosage.numerator_value) в одиницях виміру сили дії

    2. ingredients.dosage.numerator_unit (innm(х).dosage.numerator_unit), а саме мг, г, мкг, мл, МО у відповідній кількості сутності ingredients.dosage.denumerator_value (innm(х).dosage.denumerator_value) в одиницях виміру сутності

    3. ingredients.dosage.denumerator_unit  (innm(х).dosage.denumerator_unit), наприклад, шт, флакони, ампули, саше, картриджи, що виписана в ЕР. (!) ДЛЯ одного ЛЗ значення

    4. ingredients.dosage.denumerator_value та ingredients.dosage.denumerator_unit  будуть однаковими для всіх МНН

ПРИКЛАДИ:

name (dosage_name): Декаметоксин 0.2 мг/мл, розчин

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Декаметоксин

0.2

MG

1

ML

name (dosage_name): Метронідазол 10 мг/г, гель вагінальний

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Метронідазол

10

MG

1

G

name (dosage_name): Неоміцин 6500 МО/мл, Поліміксин 10000 МО/мл, Дексаметазон 0.25 мг/мл, Фенілефрин 2.5 мг/мл, спрей назальний

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Неоміцин

6500

IU

1

ML

Поліміксин

10000

IU

1

ML

Дексаметазон

0.25

MG

1

ML

Фенілефрин

2.5

MG

1

ML


name (dosage_name): СОЛІКВА картридж вмонтований в одноразову шприц-ручку, 3 мл, 100 MO/мл + 50 мкг/мл, тривалої дії

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Інсулін Гларгін

300

IU

1

SYRINGE_PEN

Ликсисенатид

150

MKG

1

SYRINGE_PEN


name (dosage_name):АКТРАПІД® НМ флакон 10 мл, 100 МО/мл, короткої дії

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Інсулін людський

1000

IU

1

FLACON

6. ingredients.is_primary - значення “true” - діючий МНН, значення “false” - допоміжний МНН (наприклад, целюлоза є допоміжною хімічною речовиною в ЛЗ). (!) Наразі для ЛЗ заведені в Get Drugs тільки діючі МНН у складі ЛЗ.

7. packages – масив можливих для виписування упаковок лікарських засобів, що відповідають можливим до продажу в аптеках

  1. container_dosage - об’єкт який дає змогу зрозуміти в якій первинній упаковці і в якій формі пацієнту може бути відпущено ЛЗ в аптеці:

    1. packages.container_dosage.numerator_value – кількість/об"єм ЛЗ в первинній упаковці.

    2. packages.container_dosage.numerator_unit – одиниця вимірювання кількості/об"єму ЛЗ в первинній упаковці. (!) Зверніть увагу, що в Get Drugs цей параметр завжди буде дорівнювати значенню ingredients.dosage.denumerator_unit будь якого МНН у складі цього ЛЗ.

    3. packages.container_dosage.denumerator_value – кількість первинних упаковок у вторинній упаковці

    4. packages.container_dosage.denumerator_unit –  одиниця вимірювання первинної упаковки

8. packages.package_min_qty  - кількість ЛЗ, мінімально можливе для продажу. Обмежується або кількістю ЛЗ в первинній упаковці, або іншими нормами НПА які регулюють мінімальний продаж ЛЗ (наприклад, при програмах реімбурсації дозволено відпускати тільки вторинну упаковку без поділу на первинні). Одиниця виміру цього параметру є packages.container_dosage.numerator_unit 

9. packages.package_qty - кількість ЛЗ у вторинній упаковці. Одиниця виміру цього параметру є packages.container_dosage.numerator_unit.

 

===ПРИКЛАД 1===

name (dosage_name): Декаметоксин 0.2 мг/мл, розчин

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Декаметоксин

0.2

мг

1

мл

варіанти упаковок

container_dosage.numerator_value

container_dosage.numerator_unit

container_dosage.denumerator_value

container_dosage.denumerator_unit 

package_min_qty

package_qty

1

5

мл

1

флакон

5

5

2

50

мл

1

флакон

50

50

3

500

мл

1

флакон

500

500

 

===ПРИКЛАД 2===

name (dosage_name): Метронідазол 10 мг/г, гель вагінальний

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Метронідазол

10

мг

1

г

варіанти упаковок

container_dosage.numerator_value

container_dosage.numerator_unit

container_dosage.denumerator_value

container_dosage.denumerator_unit 

package_min_qty

package_qty

1

30

г

1

туба

30

30

 

===ПРИКЛАД 3===

name (dosage_name): Неоміцин 6500 МО/мл, Поліміксин 10000 МО/мл, Дексаметазон 0.25 мг/мл, Фенілефрин 2.5 мг/мл, спрей назальний

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Неоміцин

6500

IU

1

ML

Поліміксин

10000

IU

1

ML

Дексаметазон

0.25

MG

1

ML

Фенілефрин

2.5

MG

1

ML

варіанти упаковок

container_dosage.numerator_value

container_dosage.numerator_unit

container_dosage.denumerator_value

container_dosage.denumerator_unit 

package_min_qty

package_qty

1

15

мл

1

флакон з розпилювачем

15

15


===ПРИКЛАД 4===

name (dosage_name): СОЛІКВА картридж вмонтований в одноразову шприц-ручку, 3 мл, 100 MO/мл + 50 мкг/мл, тривалої дії

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Інсулін Гларгін

300

IU

1

SYRINGE_PEN

Ликсисенатид

150

MKG

1

SYRINGE_PEN

варіанти упаковок

container_dosage.numerator_value

container_dosage.numerator_unit

container_dosage.denumerator_value

container_dosage.denumerator_unit 

package_min_qty

package_qty

1

1

шприц-ручка

1

шприц-ручка

1

3

2

1

шприц-ручка

1

шприц-ручка

1

5


===ПРИКЛАД 5===

name (dosage_name):АКТРАПІД® НМ флакон 10 мл, 100 МО/мл, короткої дії

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Інсулін людський

1000

IU

1

FLACON

варіанти упаковок

container_dosage.numerator_value

container_dosage.numerator_unit

container_dosage.denumerator_value

container_dosage.denumerator_unit 

package_min_qty

package_qty

1

1

флакон

1

флакон

1

1

 

===ПРИКЛАД 6===

name (dosage_name): Амоксицилін 500 мг, Клавуланова кислота 125 мг, таблетки вкриті оболонкою

ingredients.name

ingredients.dosage.numerator_value

ingredients.dosage.numerator_unit

ingredients.dosage.denumerator_value

ingredients.dosage.denumerator_unit

Амоксицилін

500

MG

1

PIECE

Клавуланова кислота

125

MG

1

PIECE

варіанти упаковок

container_dosage.numerator_value

container_dosage.numerator_unit

container_dosage.denumerator_value

container_dosage.denumerator_unit 

package_min_qty

package_qty

1

7

PIECE

1

BLISTER

7

14

4. Збір параметрів щодо кількості лікарського засобу 


За кількість препарату, що виписується пацієнту відповідає параметр medication_qty. Одиниця виміру кількості medication_qty повинна відображатись користувачу в інтерфейсі МІС і визначається  значенням параметру ingredients.dosage.denumerator_unit, яке однакове для всіх МНН, які входять до складу обраного до виписування ЛЗ. Оскільки  packages.container_dosage.numerator_unit = ingredients.dosage.denumerator_unit то МІС може також використовувати будь яке значення параметру packages.container_dosage.numerator_unit  для визначення одиниц виміру medication_qty.

 

МІС повинна забезпечити формування переліку згідно наступних вимог для medication_qty:

Вимога 1: Перелік повинен складатися тільки з можливих можливих для відпуску ЛЗ

Вимога 2: Якщо ЛЗ виписується на основі ПЛ, то medication_qty не може бути більше ніж можливо ще виписати за цим ПЛ

Вимога 3:  Для лікарських засобів, у яких заповнено значення “daily_dosage” та/чи “max_daily_dosage” не повинно перевищувати кількість згідно контролю аномального виписування лікарського засобу.


Опис вимоги 1: Перелік повинен складатися тільки з можливих можливих для відпуску ЛЗ

МІС повинна забезпечити формування переліку доступної до виписування кількость ЛЗ (medication_qty) без права змін його лікарем та з обов’язковим вказанням одиниці виміру ingredients.dosage.denumerator_unit (або packages.container_dosage.numerator_unit) цієї кількості.

Перелік повинен формуватись виходячи з  кратності значень можливих до виписування пакувань, а саме параметрів packages.package_min_qty які надходять з Get Drugs по обраному ЛЗ. 

Таким чином, в МІС лікар не може обрати для виписування кількість ЛЗ не кратну кількості в первинній упаковці (packages.package_min_qty) одного з торгових найменувань, що має найменший packages.package_min_qty серед запропонованих системою, а також обрати кількість менше, ніж мінімальна неділима кратність лікарського засобу в упаковці одного з торгових найменувань, що має найменший packages.package_min_qty серед запропонованих системою.

===КЕЙС З ІНСУЛІНАМИ===

Лікарю необхідно виписати інсулін на medication id. По medication id було отримано масив з двох значень:

"packages": [

     {

       "container_dosage": {

         "numerator_unit": "PENFILL",

         "numerator_value": 1,

         "denumerator_unit": "PENFILL",

         "denumerator_value": 1

       },

       "package_qty": 3,

       "package_min_qty": 1

     }

{

       "container_dosage": {

         "numerator_unit": "PENFILL",

         "numerator_value": 1,

         "denumerator_unit": "PENFILL",

         "denumerator_value": 1

       },

          "package_qty": 5,

       "package_min_qty": 1 }

то перелік вибору для можливої кількості для виписування ліків, з фільтрацією за значенням packages.package_min_qty =1  повинен бути:

 

Скільки може виписати лікар

Значення параметру

packages.package_min_qty

Значення параметру

packages.package_qty

Значення параметруingredients.dosage.denumerator_unit (або packages.container_dosage.denumerator_unit)

Те що бачить лікар

Contaner

Що може забрати пацієнт в аптеці

1

1

3

або 

5

PENFILL

1 шприц-ручка

1 PENFILL 1 PENFILL

1 шприц-ручка з упаковки в 3 шприц-ручки



або 

1 шприц-ручка з упаковки в 5 шприц-ручки

 

2

1

3

або 

5

PENFILL

2 шприц-ручки

1 PENFILL 1 PENFILL

2 картриджа з упаковки в 3 шприц-ручки



або 

2 картридж з упаковки в 5 шприц-ручок



або будь яка комбінація шприц-ручок з різних упаковок

 

3

1

3

або 

5

PENFILL

3 шприц-ручки

1 PENFILL 1 PENFILL

3 шприц-ручки з упаковки в 3 шприц-ручки



або 

3 шприц-ручки з упаковки в 5 шприц-ручок



або будь яка комбінація шприц-ручок з різних упаковок

4

1

3

або 

5

PENFILL

4 шприц-ручки

1 PENFILL 1 PENFILL

4 шприц-ручки з упаковок в 3 шприц-ручки тобто 1 упаковку і 1 шприц-ручку



або 

3 шприц-ручки з упаковки в 5 шприц-ручок



або будь яка комбінація шприц-ручок з різних упаковок

5

1

3

або 

5

PENFILL

5 шприц-ручок

1 PENFILL 1 PENFILL

1 шприц-ручки з упаковки в 3 шприц-ручки



або 

1 шприц-ручки з упаковки в 5 шприц-ручок



або будь яка комбінація шприц-ручок з різних упаковок

і т.п.

 

 

 

 

 

 

 

=== КЕЙС ДЛЯ РЕІМБУРСАЦІЇ ===

Лікарю необхідно виписати medication id 

По medication id було отримано масив можливих первинних упаковок з двох значень:

"packages": [

     {

       "container_dosage": {

         "numerator_unit": "10",

         "numerator_value": PIECE,

         "denumerator_unit": "BLISTER",

         "denumerator_value": 1

       },

       "package_qty": 20,

       "package_min_qty": 20

     }

{

       "container_dosage": {

         "numerator_unit": "5",

         "numerator_value": PIECE,

         "denumerator_unit": "1",

         "denumerator_value": BLISTER

       },

          "package_qty": 30,

       "package_min_qty": 30 }

Перелік вибору для можливої кількості для виписування ліків повинен бути:

Скільки може виписати лікар

Значення параметру

packages.package_min_qty

Значення параметру

packages.package_qty

Значення параметруingredients.dosage.denumerator_unit (або packages.container_dosage.denumerator_unit)

Те що бачить лікар

Contaner

Що може забрати пацієнт в аптеці

20 

20

20

PILL

20 таблеток

10 PILL 1 BLISTER

1 упаковку по 20 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері)

30

30

30

PILL

30 таблеток

5 PILL 1 BLISTER 

1 упаковку по 30 таблеток (з первинною упаковкою блістер по 5 таблеток в блістері, 6 блістерів в упаковці)

40

20

20

PILL

40 таблеток

10 PILL 1 BLISTER

2 упаковки по 20 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері)

60

20 

або 

30

20 

або 

30

PILL

60 таблеток

10 PILL 1 BLISTER

або 

5 PILL 1 BLISTER

3 упаковки по 20 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері)

або

2 упаковки по 30 таблеток (з первинною упаковкою блістер по 5 таблеток в блістері, 6 блістерів в упаковці)

80

20

20

PILL

80 таблеток

10 PILL 1 BLISTER

4 упаковки по 20 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері)

або

90

30

30

PILL

30 таблеток

5 PILL 1 BLISTER 

3 упаковки по 30 таблеток (з первинною упаковкою блістер по 5 таблеток в блістері, 6 блістерів в упаковці)

 

=== КЕЙС 1 ДЛЯ АНТИБІОТИКІВ ===

Лікарю необхідно виписати medication id 

По medication id було отримано масив можливих первинних упаковок з двох значень:

"packages": [

     {

       "container_dosage": {

         "numerator_unit": "PILL",

         "numerator_value": 10,

         "denumerator_unit": "BLISTER",

         "denumerator_value": 1

       },

       "package_qty": 20,

       "package_min_qty": 10

     }

{

       "container_dosage": {

         "numerator_unit": "PILL",

         "numerator_value": 7,

         "denumerator_unit": "BLISTER",

         "denumerator_value": 1

       },

          "package_qty": 14,

       "package_min_qty": 7

 }

{

"container_dosage": {

         "numerator_unit": "PILL",

         "numerator_value": 10,

         "denumerator_unit": "BLISTER",

         "denumerator_value": 1

       },

       "package_qty": 10,

 "package_min_qty": 10 }

то перелік вибору для можливої кількості для виписування ліків повинен бути

Скільки може виписати лікар

Значення параметру

packages.package_min_qty

Значення параметру

packages.package_qty

Значення параметруingredients.dosage.denumerator_unit (або packages.container_dosage.denumerator_unit)

Те що бачить лікар

Contaner

Що може забрати пацієнт в аптеці

7

7

14

PILL

7 таблеток

7 PILL 1 BLISTER

0.5 упаковки по 14 таблеток  з первинною упаковкою блістер по 7 таблеток в блістері, 2 блістери в упаковці),  тобто 1 блістер

10

10

10

PILL

10 таблеток

10 PILL 1 BLISTER 

1 упаковку по 10 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері, 1 блістер в упаковці)

14

7

14

PILL

14

таблеток

7 PILL 1 BLISTER

1 упаковку по 14 таблеток (з первинною упаковкою блістер по 7 таблеток в блістері, 2 блістера в упаковці)

20

10

10

PILL

20 таблеток

10 PILL 1 BLISTER 

2 упаковки по 10 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері, 1 блістер в упаковці)

21

7

14

PILL

14

таблеток

7 PILL 1 BLISTER

1.5 упаковки по 14 таблеток (з первинною упаковкою блістер по 7 таблеток в блістері, 2 блістери в упаковці), тобто 3 блістери

28

7

14

PILL

14

таблеток

7 PILL 1 BLISTER

2 упаковки по 14 таблеток (з первинною упаковкою блістер по 7 таблеток в блістері, 2 блістери в упаковці)

30

10

10

PILL

20 таблеток

10 PILL 1 BLISTER 

3 упаковки по 10 таблеток (з первинною упаковкою блістер по 10 таблеток в блістері, 1 блістер в упаковці)

 

=== КЕЙС 2 ДЛЯ АНТИБІОТИКІВ ===

Лікарю необхідно виписати medication id 

По medication id було отримано масив можливих первинних упаковок з двох значень:

"packages": [

     {

       "container_dosage": {

         "numerator_unit": "G",

         "numerator_value": 3.5,

         "denumerator_unit": "TUBE",

         "denumerator_value": 1

       },

       "package_qty": 3.5,

       "package_min_qty": 3.5

     }

{

       "container_dosage": {

         "numerator_unit": "G",

         "numerator_value": 7,

         "denumerator_unit": "TUBE",

         "denumerator_value": 1

       },

          "package_qty": 7,

       "package_min_qty": 7

 }

{

       "container_dosage": {

         "numerator_unit": "G",

         "numerator_value": 20,

         "denumerator_unit": "TUBE",

         "denumerator_value": 1

       },

          "package_qty": 20,

       "package_min_qty": 20

 }

то перелік вибору для можливої кількості для виписування ліків повинен бути:

Скільки може виписати лікар

Значення параметру

packages.package_min_qty

Значення параметру

packages.package_qty

Значення параметруingredients.dosage.denumerator_unit (або packages.container_dosage.denumerator_unit)

Те що бачить лікар

Contaner

Що може забрати пацієнт в аптеці

3.5 г 

3.5

3.5

G

3.5 г

3.5 G 1 TUBE

1 тубу по 3.5 грама

7 г

7

або

3.5

 

7

або

3.5

G

7 г

7 G 1 TUBE

1 тубу по 7 грам

або 

2 туби по 3.5 грам

10.5 г

3.5

 

3.5

G

10.5 г

3.5 G 1 TUBE

3 туби по 3.5 грама



або

1 туба по 7 грам

та

1 туба по 3.5 грама

 

ПРИКЛАД ВИБОРУ ЗНАЧЕННЯ medication_qty для антибіотиків:

В рамках ЕР розраховано, що на курс лікування пацієнту необхідно виписати Метронідазол 10 мг/г, крем у кількості 7 г (або 70 мг діючої речовини) 

По medication Метронідазол 10 мг/г, крем, отримуємо масив з трьох можливих значень упаковок:

"packages": [

     {

       "container_dosage": {

         "numerator_unit": "G",

         "numerator_value": 3.5,

         "denumerator_unit": "TUBE",

         "denumerator_value": 1

       },

       "package_qty": 3.5,

       "package_min_qty": 3.5

     }

{

       "container_dosage": {

         "numerator_unit": "G",

         "numerator_value": 7,

         "denumerator_unit": "TUBE",

         "denumerator_value": 1

       },

          "package_qty": 7,

       "package_min_qty": 7

 }

{

       "container_dosage": {

         "numerator_unit": "G",

         "numerator_value": 20,

         "denumerator_unit": "TUBE",

         "denumerator_value": 1

       },

          "package_qty": 20,

       "package_min_qty": 20

 }


то перелік вибору для можливої кількості для виписування ліків повинен бути:

Скільки буде medication_qty

Доступні значення параметру

packages.package_min_qty

Значення параметру

packages.package_qty

Значення параметруingredients.dosage.denumerator_unit (або packages.container_dosage.denumerator_unit)

Те що бачить лікар

Contaner

Що може забрати пацієнт в аптеці

7 г (або 70 мг діючої речовини) 

7

або

3.5

7

або

3.5

G

7 G

7 G 1 TUBE

1 тубу по 7 грама

або 

2 туби по 3.5 грама

Опис правила 2: Якщо ЛЗ виписується на основі ПЛ, то medication_qty не може бути більше ніж можливо ще виписати за цим ПЛ.

Також слід проводити валідацію виписаної кількості лікарського засобу згідно описаних правил

Обране значення medication_qty 1) не повинно перевищувати значення detail.remaining_quantity.value в активності плана лікування, якщо ЕР виписується на основі плана лікування;

Якщо ЕР виписується на основі плана лікування та у випадку помилки при виписуванні кількості medication_qty<= detail.remaining_quantity.value, це свідчить про наявність: 1) ще не погашених ЕР у пацієнта (Medication Request в статусі Active), оскільки remaining_quantity зменшується тільки при погашені ЕР. 

Для отримання переліку таких рецептів необхідно використовувати метод

Get medication requests in care plan context

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/get-medication-requests-in-care-plan-context

за параметром care_plan_id та фільтрами пошуку по status = active (у разі необхідності можна використовувати додаткові фільтри).

  1. та/або ще не підписаних ЕР (Medication Request request в статусі NEW), оскільки remaining_quantity зменшується тільки при погашені ЕР. 

Для отримання переліку таких рецептів необхідно використовувати метод

Get medication request request in care plan context

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request-requests/get-medication-request-requests-in-care-plan-context

за параметром care_plan_id та фільтрами пошуку по status = new (у разі необхідності можна використовувати додаткові фільтри).

Таким чином, лікар може 1) нагадати пацієнту про наявні ЕР, які не були погашені;

  1. відмінити ЕР, якщо пацієнт не пам’ятає про них;

  2. довиписати можливу кількість, яка буде дорівнювати

detail.remaining_quantity.value за винятком суми всіх Medication_qty ЕР в статусі Active та суми всіх Medication_qty заявок на ЕР.

Опис правила 3:  Для лікарських засобів, у яких заповнено значення “daily_dosage” та/чи “max_daily_dosage” не повинно перевищувати кількість згідно контролю аномального виписування лікарського засобу

З метою усунення появи електронних рецептів на надвисоку кількість лікарського засобу, які виникають в результаті помилок роботи лікарів з системою були розроблені змін до бізнес-процесу та введено два ліміти для виписування ліків:

  • Підтримуюча добова доза (daily_dosage), в одиницях виміру ingredients.dosage.denumerator_unit (або packages.container_dosage. numerator_unit) (далі за текстом - ПДД)

  • Максимальна добова доза до виписування (max_daily_dosage), в одиницях виміру ingredients.dosage.denumerator_unit (або packages.container_dosage. numerator_unit) (далі за текстом - МДД)

При спробі виписати ліки в електронному рецепті у перерахунку на 1 добу більше ніж ПДД лікар повинен бути попереджений повідомленням про це і в сигнатурі рецепта повинен бути зазначеним знак оклику (!) 

При спробі виписати ліки в електронному рецепті у перерахунку на 1 добу більше ніж МДД такий електронний рецепт не може бути виписаний і лікар повинен зкоригувати його.

Ліміти daily_dosage та max_daily_dosage, якщо вони встановлені в системі, повертаються в response на методі GET DRUGS за кожною лікарською формою в одиницях ingredients.dosage.denumerator_unit (при наявності декількох об’єктів в масиві значення буде однаковим для кожного).

Параметри, що використовуються в процесі валідації описані в таблиці нижче

Назва параметру

Опис

Визначення

started at

Дата початку лікування

Визначається правилами виписування електронного рецепту

ended at 

Дата закінчення лікування

Визначається лікарем

treatment days 

Період лікування в дня

Розраховується в МІС як treatment days = (ended at - started at)+1

medication_qty

Кількість одиниць ЛЗ 

Визначається лікарем

prescription_daily_dosage 

фактичне денне дозування ЛЗ яке розраховується в МІС з виписаної кількості ЛЗ на весь період ЕР 

Розраховується в МІС:

prescription_daily_dosage = medication_qty/treatment days

 

ingredients.dosage.denumerator_unit (при наявності декількох об’єктів в масиві значення буде однаковим для кожного)

Одиниця виміру сутності

довідник MEDICATION_UNIT

Отримання з Get Drugs 

dosage_name

Назва лікарського засобу на яку виписує лікар та назва яка відображається в рецепті

 

 

Отримання з Get Drugs 

daily_dosage

Підтримуюча добова доза в одиницях виміру сутності ingredients.dosage.denumerator_unit (при наявності декількох об’єктів в масиві значення буде однаковим для кожного)

Отримання з Get Drugs 

max_daily_dosage

Максимальна добова доза в одиницях виміру сутності ingredients.dosage.denumerator_unit (при наявності декількох об’єктів в масиві значення буде однаковим для кожного)

Отримання з Get Drugs 

 

Перед тим як відправити запит Create Medical Request request слід на стороні МІС розрахувати значення фактичного денного дозування ЛЗ яке виписується пацієнту в ЕР prescription_daily_dosage = medication_qty/treatment days

Наступним кроком в МІС є  порівняння:

prescription_daily_dosage з параметрами daily_dosage та max_daily_dosage


Якщо prescription_daily_dosage > daily_dosage то слід вивести користувачу наступний діалог:

Увага! 

Пацієнту перевищено підтримуючу добову дозу лікарського засобу [вставити поточне значення "dosage_name"]. Чи впевнені Ви у виписуванні пацієнту такої кількості лікарського засобу на добу?Так/Ні

Дії після натискання “Так”

Перехід до процесу формування заявки на ЕР та автоматичне формування в полі text символів в лапках “(!)” (знак оклику) на початку повідомлення, що написав лікар. Це означає, що лікар свідомо виписує рецепт з перевищенням звичайної дози прийому даного лікарського засобу.

Таким чином, якщо лікар, наприклад, написав сигнатуру рецепта (text):

приймати тричі на день після їжі

вона повинна трансформуватись в наступну:

(!) приймати тричі на день після їжі.

Дії після натискання “Ні”

Перехід до коригування параметрів електронного рецепту.

 

Якщо prescription_daily_dosage > max_daily_dosage то слід вивести користувачу наступний діалог:

Увага! 

Пацієнту перевищено максимальну добову дозу лікарського засобу [вставити поточне значення "dosage_name"].

Будь-ласка, поверніться та скоригуйте електронний рецепт!

Повернутися


Дії після натискання “Повернутися”

Перехід до коригування параметрів електронного рецепту.

 

=== ПРИКЛАД 1 ===

Лікар виписує на ЕР 7 картриджей ГЕНСУЛІН М30 картридж 3 мл, 100 ОД/мл, короткої тривалості дії у комбінації з інсулінами середньої тривалості дії на курс лікування 30 днів.

treatment days = 30 днів

medication_qty = 7 картриджа

Згідно реєстру

daily_dosage=0.13 картриджа

max_daily_dosage=0.4 картриджа

ingredients.dosage.denumerator_unit = картридж

Розраховуємо: 

treatment days = 30 днів

prescription_daily_dosage = medication_qty/treatment days=  7/30 = 0.233 

Порівнюємо prescription_daily_dosage з параметрами daily_dosage та max_daily_dosage

Значення prescription_daily_dosage=0.233 більше ніж daily_dosage=0.13 картриджа, тому лікарю виводиться повідомлення:

Увага! 

Пацієнту перевищено підтримуючу добову дозу лікарського засобу ГЕНСУЛІН М30 картридж 3 мл, 100 ОД/мл, короткої тривалості дії у комбінації з інсулінами середньої тривалості дії. Чи впевнені Ви у виписуванні пацієнту такої кількості лікарського засобу на добу?Так/Ні

в поле сигнатури (text)  додається знак оклику (!) Якщо лікар нажимає “Так”.

 

===ПРИКЛАД 2===

Лікар виписує Амлодипін 5 мг, таблетки на 30 днів, 90 шт.

treatment days = 30 днів

medication_qty = 90

container_dosage.denumerator_unit =  шт

Згідно реєстру

daily_dosage=1

max_daily_dosage=2

container_dosage.numerator_value  5

container_dosage.numerator_unit  мг

container_dosage.denumerator_unit  шт

Розраховуємо: 

treatment days = 30 днів

prescription_daily_dosage = medication_qty/treatment days=  90/30 =3 (3 шт на добу) 

prescription_daily_dosage > max_daily_dosage, тобто  3>2, то слід вивести користувачу наступний діалог:

Увага! 

Пацієнту перевищено максимальну добову дозу лікарського засобу Амлодипін 5 мг, таблетки. 

Будь-ласка, поверніться та скоригуйте електронний рецепт!

 

Повернутися

5. Збір параметрів щодо строків ЕР 

created_at – строк початку дії рецепту. Значення даного параметру повинне автоматично виставлятися МІС як поточна дата, коли лікар ініціює створення рецепту і не може бути змінено користувачем;

started_at – дата початку лікування виписаним лікарським засобом. 

У випадку виписування ЕР за медичною програмою, у якій за параметром "skip_mnn_in_treatment_period"=True дозволено створити рецепт за такою ж програмою з однаковим МНН за один період лікування, чи якщо у пацієнта немає періоду лікування даним ЛЗ, то значення даного параметру повинно або дорівнювати даті created_at, що є поточною датою, або визначатися лікарем згідно з визначеними лікарем потребами пацієнта;

У випадку виписування ЕР, якщо у пацієнт є період лікування даним ЛЗ (виписаний інший ЕР) та налаштуваннями параметру програми "skip_mnn_in_treatment_period" = False заборонено створення рецепту за такою програмою з однаковим МНН за один період лікування, то started_at  повинна визначатись як ended_at курсу лікування за попереднім ЕР + 1 день. 

ended_at – дата закінчення лікування виписаним лікарським засобом. Параметр може вказуватись лікарем безпосередньо при виписуванні, або, наприклад, розраховуватись автоматично як started_at + (час лікування виписаним ЛЗ) в залежності від реалізації інтерфейсу взаємодії МІС з лікарем.

Різниця між ended_at та started_at повинна дорівнювати чи бути менше значення medication_request_max_period_day що визначено на рівні програми.

Увага! Для ЛЗ, що виписуються за програмою, у якій параметром "skip_mnn_in_treatment_period"=False заборонено створити рецепт за такою програмою з однаковим МНН за один період лікування , новий рецепт на той же ЛЗ (МНН) можна виписати не раніше ніж за таку кількість днів до закінчення лікування:

  1. Якщо тривалість лікування дорівнює або більше ніж 21 день, то повторно пацієнт може отримати рецепт на той же самий МНН за 7 днів до закінчення лікування (ended at - 7 days)

  2. Якщо тривалість лікування менше ніж 21 день, то повторно пацієнт може отримати рецепт на той же самий МНН за 3 дні до закінчення лікування (ended at - 3 days).

Дані перевірки реалізовано на стороні системи ЕСОЗ. При спробі повторного виписування в МІС прийде відповідна помилка.

 

6. Збір параметрів щодо способу прийому ліків

Дані параметри повинні відповісти на питання щодо прийому ліків.

За дані параметри відповідає масив dosage_instruction – масив інструкцій щодо вживання ліків. Достатньо вказувати в атрибутах dosage_instruction наступні параметри:

  1. dosage_instruction.sequence =1, оскільки потрібна тільки 1 інструкція

  2. dosage_instruction.text  - довільний текст (сигнатура рецепту) як приймати ліки

  3. об’єкт dosage_instruction.max_dose_per_period – добова доза приойму ліків

    1. dosage_instruction.max_dose_per_period.numerator value. Вказується кількість ЛЗ для прийому на добу. 

    2. dosage_instruction.max_dose_per_period.numerator.unit. Одиниця виміру дозування на добу, яка повинна дорівнювати значенню ingredients.dosage.denumerator_unit ЛЗ (при наявності декількох об’єктів в масиві значення буде однаковим для кожного)

    3. dosage_instruction.max_dose_per_period.denumerator value. Оскільки в рецепті вказується кількість на добу, то в параметрі зазначаємо значення “1”

    4. dosage_instruction.max_dose_per_period.denumerator.unit = Оскільки в рецепті вказується кількість на добу, то в параметрі одиниць виміру зазначаємо значення “day”.

  4. об’єкт dosage_instruction.max_dose_per_administration. Вказується разова доза (на один прийом)

    1. dosage_instruction.max_dose_per_administration.numerator value.  Вказується кількість ЛЗ для прийому на добу. 

    2. dosage_instruction.max_dose_per_administration.numerator.unit. Одиниця виміру кількості ЛЗ на прийом. Одиниця виміру дозування на добу повинна дорівнювати значенню ingredients.dosage.denumerator_unit ЛЗ (при наявності декількох об’єктів в масиві значення буде однаковим для кожного).

При виписуванні ЕР в інтерфейсі МІС для зручності лікарю необхідно забезпечити можливість перерахунку та коригування дозування кожного МНН ЛЗ на один прийом та на добу, причому при зміні значення дозування одного з МНН в МІС повинні коригуватись значення інших МНН та кількість ЛЗ.

=== ПРИКЛАД 1===

Лікар виписує ЛЗ: Неоміцин 6500 МО/мл, Поліміксин 10000 МО/мл, Дексаметазон 0.25 мг/мл, Фенілефрин 2.5 мг/мл, спрей назальний 

Лікар вказує в інтерфейсі МІС лише дозування по Неоміцину

Неоміцин 13000 МО на 1 прийом, 26000 МО на добу, 

МІС повинна розрахувати: 

1. кількість ЛЗ на 1 прийом  в одиницях виміру ingredients.dosage.denumerator_unit

 2. кількість ЛЗ на добу max_dose_per_period.value в одиницях виміру ingredients.dosage.denumerator_unit

3. дозування на прийом по іншим інгрідієнтам:

4. дозування на добу по іншим інгрідієнтам:

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



 

 

Дозування на 1 прийом

Одиниця виміру дозування на 1 прийом

Дозування на добу

Одиниця виміру дозування на добу

Кількість на 1 прийом

max_dose_per_administration.value

Одиниця виміру кількості на добу

max_dose_per_administration.unit

Кількість на добу - значення:

max_dose_per_period.value

Одиниця виміру

кількості на добу

max_dose_per_period.unit

 

МНН 1

Неоміцин 6500 МО/мл

13000

МО

26000

МО

1

мл

4

мл

МНН 2

Поліміксин 10000 МО/м

20000

МО

40000

 

МО

МНН 3

Дексаметазон 0.25 мг/мл

0.5

мг

1

мг

МНН 4

Фенілефрин 2.5 мг/м

5

мг

10

мг

 

=== ПРИКЛАД 2===

Лікар виписує ЛЗ: Неоміцин 6500 МО/мл, Поліміксин 10000 МО/мл, Дексаметазон 0.25 мг/мл, Фенілефрин 2.5 мг/мл, спрей назальний 

Лікар вказує в інтерфейсі МІС кількість мл на добу та прийом цього ЛЗ

0.1 мл на 1 прийом, 0.2 мл на добу, 



  1. Кількість ЛЗ на 1 прийом  в одиницях виміру ingredients.dosage.denumerator_unit

 max_dose_per_administration.value=0.1 мл  


2. Кількість ЛЗ на добу max_dose_per_period.value в одиницях виміру ingredients.dosage.denumerator_unit

max_dose_per_period.value=0.2 мл

 

3. МІС повинна розрахувати дозування на прийом по іншим інгрідієнтам:

4. МІС повинна розрахувати дозування на добу по всім інгрідієнтам згідно формули:

Таким чином, дані для лікаря повинні в МІС бути представлені наступним чином:

 

 

Дозування на 1 прийом

Одиниця виміру дозування на 1 прийом

Дозування на добу

Одиниця виміру дозування на добу

Кількість на 1 прийом

max_dose_per_administration.value

Одиниця виміру кількості на добу

max_dose_per_administration.unit

Кількість на добу - значення:

max_dose_per_period.value

Одиниця виміру

кількості на добу

max_dose_per_period.unit

 

МНН 1

Неоміцин 6500 МО/мл

650

МО

1300

МО

0.1

мл

0.2

мл

МНН 2

Поліміксин 10000 МО/м

1000

МО

2000

МО

МНН 3

Дексаметазон 0.25 мг/мл

0.025

мг

0.05

мг

МНН 4

Фенілефрин 2.5 мг/м

0.25

мг

0.5

мг

 

Створення рецепту

Процес створення рецепту розподілен по декілька етапам


Створення заявки на рецепт

У разі формування всіх необхідних параметрів з підготовчого етапу можна виконати запит

Create Medication request Request

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request-requests/create-medication-request-request

При успішному виконанні запиту в системі eHealth створюється заявка на рецепт у статусі NEW (DRAFT рецепту)

Можливі статуси заявки на рецепт описані на рисунку нижче.

Перевірка номеру телефона пацієнта перед формуванням рецепту

У відповіді з попереднього запиту МІС отримає наступні параметри:

  "urgent": {

"authentication_method_current": {

   "type": "OTP",

   "number": "+38093*****85"

що дозволять провести лікарю верифікацію з пацієнтом щодо коректності вказаного номеру телефона number та повернути тип верифікації пацієнта type.

Якщо тип верифікації type встановлено OTP, то на стороні МІС слід розробити в інтерфейсі діалог щодо опитування лікарем пацієнта чи це його номер.

Якщо пацієнт не підтвердить що це його номер, то слід вивести повідомлення, що «пацієнту слід змінити номер телефону для верифікації. Для цього необхідно звернутись до НСЗУ з метою скидання номеру для верифікації та після підтвердження його скидання перезаключити декларацію з даним лікарем».

Якщо пацієнт підтвердить номер телефону, то лікар має право перейти на наступний етап.

 

Перевірка правильності заповнення даних

При запиті з пункту 1 повертається інформація, за якою буде сформовано рецепт.

МІС повинен візуалізувати дану інформацію в інтерфейсі лікарю для перевірки.

Якщо лікар підтвердив, що рецепт сформовано вірно, то він має право перейти на наступний етап.

Якщо лікар знайшов помилку, то він має право відкоригувати поля з помилкою. При цьому в системі повинна створюватись нова заявка на рецепт вже з новими параметрами а попередню необхідно відмінити запитом:

Reject-medication-request-requesthttps://docs.google.com/spreadsheets/d/1I2eoViHKCNBjX3JRJ4ybqPsWQ1UT6L0ljkuKyUHVEKA/edit#gid=0

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request-requests/reject-medication-request-request

Підписання заявки на рецепт та створення рецепту

Заявка на рецепт  підписується КЕП та підписаний контент переводиться у формат base64 поза системою eHealth.

Після даних операцій виконується запит:

Sign-medication-request-request

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request-requests/sign-medication-request-request

В результаті успішного підписання:

  • заявка переходить у статус SIGNED,

В залежності від налаштувань на параметрі “medication_request_notification_disabled” система прийме рішення про надсилання смс повідомлення. Якщо, параметром дозволено надсилання смс повідомлення, то

ЯКЩО ПАЦІЄНТ З ОТП верифікацією: на номер телефону пацієнта відправляється СМС з номером рецепту та кодом погашення Вам виписано рецепт: ХХХХ-ХХХХ-ХХХХ-ХХХХ, код погашення (verification code): ХХХХ” (67 символів в СМС),

ЯКЩО ПАЦІЄНТ з OFFLINE верифікацією, то verification code): ХХХХ буде друкуватись в інформаційній пам’ятці та більше не буде дорівнювати 0000.

  • в системі створюється нова сутність –

Medication Request у статусі Active.

У відповідь МІС отримає:

Id – унікальний ідентифікатор рецепту

request_number – номер рецепту, наприклад, 0000-243P-1X53-EH38

status – active – рецепт активний та може бути погашений в аптеці

У випадку з оффлайн верифікацією пацієнта також може бути присутнім параметр: verification code – код погашення рецепту


Якщо параметр програми “medication_request_notification_disabled” = True, то смс повідомлення за такою програмою не надсилаються. В такому випадку, МІС повинна інформувати лікаря про те, що пацієнту не буде надіслано смс. В такому випадку, інформацію про номер рецепту та код підтвердження лікар надає пацієнту роздруковуючи інформаційну пам’ятку.

МІС повинна відобразити друковану пам’ятку ЕР для подальшої роботи з нею користувачу. Друкована формою з параметрами, які генеруються для неї:

Для генерації інформаційної пам’ятки повторно, МІС повинна використовувати метод Get Medication Request Printout form

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/get-medication-request-printout-form  

Medication Request може мати наступні статуси:


Відкликання виписаного рецепту

Відкликати рецепт може:

  • лікар який його створив, 

  • автор плана лікування,

  • лікар який має права write плана лікування.

Для цього

  1. слід виконати запит

Get Medication request by ID за Id – унікальним ідентифікатором рецепту або за request_number рецепту;

  1. За наявності погашень за рецептом, МІС повинна проінфолрмувати лікаря про здійснений відпуск ліків, який визначається за різницею medication_qty - medication_remaining_qty;

  2. додати до отриманої інформації наступні параметри:

  • reject_reason_code (required) - відповідний код з довідника

  • reject_reason (optional) - опційне текстове поле для введеня користувачем додаткової інформації

Довідник має такі коди та відповідні значення

  1. wrong_dosage: виписана невірна кількість доз лікарського засобу

  2. wrong_qty: виписана невірна лікарська форма лікарського засобу

  3. wrong_period: виписана невірна кількість днів курсу лікування

  4. wrong_signature: невірно заповнена сигнатура електронного рецепта

  5. no_sms: пацієнту не надходить СМС-повідомлення з інформацією про номер електронного рецепта та код підтвердження

  6. new_request_needed: прохання пацієнта виписати новий електронний рецепт за тією ж МНН через відсутність достатньої кількості виписаного лікарського засобу в аптечному закладі;

  7. patient_reject: відмова пацієнта приймати  виписаний лікарський засіб

 

  1. Підписати сформований json КЕП та перевести підписаний контент у base64

  2. Виконати запит

Reject medication request

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/reject-medication-request  

При успішному виконанні процесу:

  • МІС отримає підписаний контент назад з фіксацією параметрів rejected_at, rejected_by,

  • Medical Request змінить статус на REJECTED та не може бути більше погашеним в аптеці

  • За умови, коли надсилання смс дозволено параметром програми medication_request_notification_disabled, пацієнт отримує СМС повідомлення щодо відізваного рецепту: “Рецепт анульовано: номер ХХХХ-ХХХХ-ХХХХ-ХХХХ”.

В даному статусі рецепт не може бути погашеним в аптеці.

 Процес повторної відправки СМС повідомлення


Увага! В МІС треба зробити налаштування, що даний запит лікарю можна робити тільки 1 раз.

Для повторної відправки СМС повідомлення пацієнту, наприклад коли пацієнт загубив раніше надіслану СМС з кодов (видалив, замінив телефон, тощо) лікар має право надіслати СМС ще 1 раз.

Для цього слід знати ID – унікальний ідентифікатор рецепту та виконати запит

Resend-medication-request

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/resend-medication-request

В результаті виконання даного запиту МІС отримає статус успішного виконання запиту. Лікар отримає деталі виписаного рецепту, в тому числі в майбутніх релізах лютого - verification code для рецептів що були виписані при оффлайн верифікації.

 Інформування лікаря щодо рецептів, які не були погашені в термін 30 днів після виписування рецепту.

Medical Request, що були виписані лікарем в рамках реімбурсації через 30 днів стають в статусі EXPIRED.

Для розуміння лікарем виконання пацієнтом його приписання, лікар повинен бути проінформовано про таких пацієнтів.

Для організації перевірки таких рецептів один раз на добу слід виконувати запит

Get Medication Requests List  з параметрами legal_entity_id, employee_id, status «EXPIRED», created_from = today-30 days – x days (де х – це кількість днів за яку лікар може передивитись дані рецепти), created_to = today-30 days

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/get-medication-requests-list

За інформацією, що була отримана за даними рецептами лікар повинен мати можливість витягнути інформацію про пацієнта (його декларацію) для оперативного зв’язку з ним. 

Або щоденно legal_entity може використовувати запит Get Reimbursement report з параметрами по даті та по статусу.

 

Get Reimbursement report

https://uaehealthapi.docs.apiary.io/reference/public.-reimbursement/reimbursement-report/get-reimbursement-report

Також даний запит може використовуватись закладом для формування статистики або звітів щодо виписаних рецептів.

 

Інші допоміжні запити

Для реалізації свого унікального інтерфейсу, додаткових можливостей для кабінету лікаря МІС може скористатися всіма іншими доступними запитами, що були взагалі не описані або описані часткового в даному документі, але присутні в API та конфлюенсі:

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement

 

 

 

 

 

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