станом на 15.08.2022
Передумови
МІС не може реалізувати модуль виписування рецептів без кабінету лікаря.
Загальні передумови для процесу виписування рецептів (Модуль ЕР) в закладі охорони здоров’я (далі ЗОЗ):
ЗОЗ зареєстровано в Системі;
лікар зареєстрований в системі як employee;
підрозділ в якому працює лікар зареєстровано в Системі;
користувач має відповідні права доступу.
Окремі випадки.
Додаткові передумови до виписування рецептів за програмами реімбурсації:
ЗОЗ має договір з НСЗУ.
API по виписуванню рецепту в системі eHealth:
https://ehealthmisapi1.docs.apiary.io/#reference/public.-reimbursement/update-healthcare-service
Підготовчий етап для початку виписування рецепту
Процес виписування рецепту для конкретного пацієнта в системі починається зі збору всіх необхідних параметрів для успішного виконання запиту:
Create Medication request Request
Підготовчий етап складається із таких кроків:
Визначити, чи може лікар виписати рецепт.
Збір параметрів щодо переходу на процес виписування ЕР.
Збір параметрів щодо характеристик рецепту.
Збір параметрів щодо лікарського засобу, який виписується, якщо ЕР створюється на основі плану лікування.
Збір параметрів щодо лікарського засобу, який виписується, якщо ЕР створюється без плану лікування.
Збір параметрів щодо кількості лікарського засобу.
Збір параметрів щодо строків ЕР.
Збір параметрів щодо прийому ліків.
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 programs List.
Отримання деталей щодо конкретної програми здійснюється з використанням методу 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 при створенні ЕР визначено як обов’язкова умова.
Для рецептів, які повинні бути погашені в аптеці і створюються пацієнтам, які знаходяться на стаціонарному лікуванні та / або виписуються зі стаціонару, лікар повинен використовувати ідентифікатор encounter_id медичної події, в рамках якої велося лікування пацієнта.
При створенні ЕР за програмою, у якій згідно налаштувань повинна відбуватись перевірка значень первинного діагнозу згідно значень, які вказано у параметрах CONDITIONS_ICD10_AM_ALLOWED та/чи CONDITIONS_ICPC2_ALLOWED, що визначені у обраній медичній програмі та взаємодії (медичній події).
При виписуванні ЕР використання плану лікування є обов’язковим у випадках, коли параметр відповідної медичної програми “care_plan_required”= True. В таких випадках, в об’єкті based_on ЕР необхідно вказати id наступних об’єктів:
в рамках якого плану лікування (Careplan) виписується даний ЕР. Для цього в атрибуті
identifier типу care_plan необхідно вказати значення value, що є ідентифікатором плану лікування в рамках якого виписується ЕР;
в рамках якої активності відповідного плану лікування (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.
Поточні налаштування для середовищ PREPROD та PROD дивись на сторінці Confluence: Налаштування медичних програм.
3.2 ЕР створюється без плану лікування
Лікар повинен мати можливість виписати ЕР на ідентифікатор лікарського засобу medication_id.
Лікарський засіб складається з:
масиву МНН (інгредієнтів) (масив ingredients).
По кожному інгрідієнту зазначається його хімічне дозування у перерахунку на фізичну субстанцію (наприклад, 100 мг на 1 мл: dosage.numerator_value=100, dosage.numerator.unit=mg, dosage.denumerator_value=1, dosage.denumerator_unit=ml);
назви лікарської форми лікарського засобу (параметр “form” словник Medication Form);
масиву можливих пакувань лікарського засобу в первинній упаковці (масив “packages”)
назви лікарського засобу (параметр “name”).
Для визначення параметру medication_id слід використовувати довідник ліків, що існує в ЕСОЗ, використовуючи запит Get drugs list V2 та в залежності від обраних параметрів для фільтру показувати лікарю відповідний до запитів перелік лікарських засобів.
У випадку якщо необхідно вказати кількість лікарського засобу обраного midication_id в первинній упаковці (наприклад, для парантеральних лікарських форм: об'єм ампули, флакону, небули тощо), лікар повинен обрати з доступних варіантів параметри container_dosage.numerator_value та container_dosage.numerator_unit масиву packages.
Основні параметри у відповіді на запит:
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 - масив МНН (субстанцій, хімічних речовин тощо) з вказанням дозування кожного МНН на одиницю виміру сутності :
ingredients.name - міжнародна непатентована назва лікарського засобу на українській мові.
ingredients.name_original - міжнародна непатентована назва лікарського засобу на латині.
ingredients.dosage - в даному об’єкті по кожному МНН вказується кількість діючої речовини:
ingredients.dosage.numerator_value (innm(х).dosage.numerator_value) в одиницях виміру сили дії;
ingredients.dosage.numerator_unit (innm(х).dosage.numerator_unit), а саме мг, г, мкг, мл, МО у відповідній кількості сутності ingredients.dosage.denumerator_value (innm(х).dosage.denumerator_value) в одиницях виміру сутності;
ingredients.dosage.denumerator_unit (innm(х).dosage.denumerator_unit), наприклад, шт, флакони, ампули, саше, картриджи, що виписана в ЕР, для одного ЛЗ значення;
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 – масив можливих для виписування упаковок лікарських засобів, що відповідають можливим до продажу в аптеках
container_dosage - об’єкт який дає змогу зрозуміти в якій первинній упаковці і в якій формі пацієнту може бути відпущено ЛЗ в аптеці:
packages.container_dosage.numerator_value – кількість/об"єм ЛЗ в первинній упаковці.
packages.container_dosage.numerator_unit – одиниця вимірювання кількості/об"єму ЛЗ в первинній упаковці. (!) Зверніть увагу, що в Get Drugs цей параметр завжди буде дорівнювати значенню ingredients.dosage.denumerator_unit будь якого МНН у складі цього ЛЗ.
packages.container_dosage.denumerator_value – кількість первинних упаковок у вторинній упаковці
packages.container_dosage.denumerator_unit – одиниця вимірювання первинної упаковки
packages.max_request_dosage - кількість лікарського засобу дозволена до виписування на один рецепт в залежності від кількості/об'єму в первинній упаковці
8. packages.package_min_qty - кількість ЛЗ, мінімально можливе для продажу. Обмежується або кількістю ЛЗ в первинній упаковці, або іншими нормами НПА які регулюють мінімальний продаж ЛЗ (наприклад, при програмах реімбурсації дозволено відпускати тільки вторинну упаковку без поділу на первинні). Одиниця виміру цього параметру є packages.container_dosage.numerator_unit
9. packages.package_qty - кількість ЛЗ у вторинній упаковці. Одиниця виміру цього параметру є packages.container_dosage.numerator_unit
10. mr_blank_type - приналежність ЛЗ до певної групи ліків згідно словника MR_BLANK_TYPE (F-1 ненаркотичні ЛЗ, F-3 отруйні (психотропні) ЛЗ)
11. dosage_form_is_dosed - приналежність лікарської форми до дозованих. Даний параметр не використовується у процесах пов'язаних з виписуванням електронних рецептів, які погашаються в аптеках.
===ПРИКЛАД 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.
За кількість лікарського засобу, що дозволена до виписування в 1 рецепту відповідає параметр max_request_dosage. Даний параметр вимірюється в одиницях виміру container_dosage_numerator_unit.
МІС повинна забезпечити формування переліку згідно наступних вимог для medication_qty:
Вимога 1: Перелік повинен складатися тільки з можливих можливих для відпуску ЛЗ
Вимога 2: Якщо ЛЗ виписується на основі ПЛ, то medication_qty не може бути більше ніж можливо ще виписати за цим ПЛ
Вимога 3: Для лікарських засобів, у яких заповнено значення “daily_dosage” та/чи “max_daily_dosage” не повинно перевищувати кількість згідно контролю аномального виписування лікарського засобу
Вимога 4: Для лікарських засобів, для яких заповнено значення “max_request_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
за параметром care_plan_id та фільтрами пошуку по status = active (у разі необхідності можна використовувати додаткові фільтри).
та/або ще не підписаних ЕР (Medication Request request в статусі NEW), оскільки remaining_quantity зменшується тільки при погашені ЕР.
Для отримання переліку таких рецептів необхідно використовувати метод
Get medication request request in care plan context
за параметром care_plan_id та фільтрами пошуку по status = new (у разі необхідності можна використовувати додаткові фільтри).
Таким чином, лікар може 1) нагадати пацієнту про наявні ЕР, які не були погашені;
відмінити ЕР, якщо пацієнт не пам’ятає про них;
довиписати можливу кількість, яка буде дорівнювати
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 мг, таблетки. Будь-ласка, поверніться та скоригуйте електронний рецепт! Повернутися |
Опис правила 4: Для лікарських засобів, для яких заповнено значення “max_request_dosage” кількість лікарського засобу, що виписується за рецептом не повинна перевищувати кількість визначену для даного параметру
З метою попередження ситуацій, коли аптечний заклад не зможе відпустити ліки (наркотичні (психотропні) лікарські засоби) за рецептом у кількості, що є більшою ніж визначено нормативно-правовими актами (наказ МОЗ №360), на рівні ЦБД ЕСОЗ забезпечено перевірку таких кількостей.
medication_qty(innm_dosage) < = max_request_dosage
При виборі лікарської форми лікарського засобу, для якої параметром packages.max_request_dosage є заповненим, потрібно інформувати лікаря про максимально допустиму кількість лікарського засобу в одиницях виміру packages.container_dosage.numerator_unit.
Ліміт за параметром max_request_dosage повертається у відповідь на методі GET DRUGS V2.
При перевищенні значення параметра packages.max_request_dosage при виписуванні рецепта, лікар повинен отримати помилку в інтерфейсі МІС, оскільки система не дозволить виписати такий рецепт.
Увага! За даним рецептом перевищено максимально допустиму кількість ЛЗ, що дозволена до виписування в 1 рецепті. Будь-ласка, поверніться та скоригуйте електронний рецепт! Повернутися |
Опис опційної вимоги: Для ін'єкційних лікарських засобів забезпечити можливість передати кількість ЛЗ в первинній упаковці
У випадку якщо необхідно вказати кількість лікарського засобу обраного midication_id в первинній упаковці (наприклад, для парантеральних лікарських форм: об'єм ампули, флакону, небули, тощо), лікар повинен обрати з доступних варіантів параметри container_dosage.numerator_value та container_dosage.numerator_unit масиву packages.
З метою не перевантаження інтерфейсу, рекомендовано надавати таку можливість у відповідь на згоду лікаря визначити таку інформацію.
NB! У випадку, коли лікарем буде визначено кількість лікарського засобу в первинній упаковці, при відпуску ліків в аптеці перелік ліків буде додатково відфільтрований за даним параметром.
=== Приклад 1 ===
Лікар виписує ЛЗ: Трамадол 50 мг/мл, розчин для ін'єкцій,
Лікар вказує в інтерфейсі МІС об"єм ЛЗ в первинній упаковці для продажу в аптеці: 2 мл
(кількість“value” та одиниця виміру “code” повинні формуватися відповідно до значень, отриманих з масиву packages параметрів container_dosage.numerator_value та container_dosage.numerator_unit ЛЗ, що виписується)
"container_dosage": { "system": "MEDICATION_UNIT", "code": "ML", "value": 2 }
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 заборонено створити рецепт за такою програмою з однаковим МНН за один період лікування , новий рецепт на той же ЛЗ (МНН) можна виписати не раніше. ніж за таку кількість днів до закінчення лікування:
Якщо тривалість лікування дорівнює або більше ніж 21 день, то повторно пацієнт може отримати рецепт на той же самий МНН за 7 днів до закінчення лікування (ended at - 7 days)
Якщо тривалість лікування менше ніж 21 день, то повторно пацієнт може отримати рецепт на той же самий МНН за 3 дні до закінчення лікування (ended at - 3 days).
Дані перевірки реалізовано на стороні системи ЕСОЗ. При спробі повторного виписування в МІС прийде відповідна помилка.
6. Збір параметрів щодо способу прийому ліків
Дані параметри повинні відповісти на питання щодо прийому ліків.
За дані параметри відповідає масив dosage_instruction – масив інструкцій щодо вживання ліків. Достатньо вказувати в атрибутах dosage_instruction наступні параметри:
dosage_instruction.sequence =1, оскільки потрібна тільки 1 інструкція
dosage_instruction.text - довільний текст (сигнатура рецепта) як приймати ліки
об’єкт dosage_instruction.max_dose_per_period – добова доза приойму ліків
dosage_instruction.max_dose_per_period.numerator value. Вказується кількість ЛЗ для прийому на добу.
dosage_instruction.max_dose_per_period.numerator.unit. Одиниця виміру дозування на добу, яка повинна дорівнювати значенню ingredients.dosage.denumerator_unit ЛЗ (при наявності декількох об’єктів в масиві значення буде однаковим для кожного)
dosage_instruction.max_dose_per_period.denumerator value. Оскільки в рецепті вказується кількість на добу, то в параметрі зазначаємо значення “1”
dosage_instruction.max_dose_per_period.denumerator.unit = Оскільки в рецепті вказується кількість на добу, то в параметрі одиниць виміру зазначаємо значення “day”.
об’єкт dosage_instruction.max_dose_per_administration. Вказується разова доза (на один прийом)
dosage_instruction.max_dose_per_administration.numerator value. Вказується кількість ЛЗ для прийому на добу.
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 прийом в одиницях виміру 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
При успішному виконанні запиту в системі 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
Підписання заявки на рецепт та створення рецепта
Заявка на рецепт підписується КЕП та підписаний контент переводиться у формат base64 поза системою eHealth.
Після даних операцій виконується запит:
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
Medication Request може мати наступні статуси:
Відкликання виписаного рецепта
Відкликати рецепт може:
лікар який його створив,
автор плану лікування,
лікар який має права write плану лікування.
Для цього
слід виконати запит
Get Medication request by ID за Id – унікальним ідентифікатором рецепта або за request_number рецепта;
За наявності погашень за рецептом, МІС повинна проінформувати лікаря про здійснений відпуск ліків, який визначається за різницею medication_qty - medication_remaining_qty;
додати до отриманої інформації наступні параметри:
reject_reason_code (required) - відповідний код з довідника
reject_reason (optional) - опційне текстове поле для введення користувачем додаткової інформації
Довідник має такі коди та відповідні значення
wrong_dosage: виписана невірна кількість доз лікарського засобу
wrong_qty: виписана невірна лікарська форма лікарського засобу
wrong_period: виписана невірна кількість днів курсу лікування
wrong_signature: невірно заповнена сигнатура електронного рецепта
no_sms: пацієнту не надходить СМС-повідомлення з інформацією про номер електронного рецепта та код підтвердження
new_request_needed: прохання пацієнта виписати новий електронний рецепт за тією ж МНН через відсутність достатньої кількості виписаного лікарського засобу в аптечному закладі;
patient_reject: відмова пацієнта приймати виписаний лікарський засіб
Підписати сформований json КЕП та перевести підписаний контент у base64
Виконати запит
Reject medication request
При успішному виконанні процесу:
МІС отримає підписаний контент назад з фіксацією параметрів rejected_at, rejected_by,
Medical Request змінить статус на REJECTED та не може бути більше погашеним в аптеці
За умови, коли надсилання смс дозволено параметром програми medication_request_notification_disabled, пацієнт отримує СМС повідомлення щодо відізваного рецепта: “Рецепт анульовано: номер ХХХХ-ХХХХ-ХХХХ-ХХХХ”.
В даному статусі рецепт не може бути погашеним в аптеці.
Процес повторної відправки СМС повідомлення
Увага! В МІС треба зробити налаштування, що даний запит лікарю можна робити тільки 1 раз.
Для повторної відправки СМС повідомлення пацієнту, наприклад коли пацієнт загубив раніше надіслану СМС з кодом (видалив, замінив телефон, тощо) лікар має право надіслати СМС ще 1 раз.
Для цього слід знати ID – унікальний ідентифікатор рецепта та виконати запит
Resend-medication-request
В результаті виконання даного запиту МІС отримає статус успішного виконання запиту. Лікар отримає деталі виписаного рецепта, в тому числі - verification code для рецептів що були виписані при оффлайн верифікації.
Інформування лікаря щодо рецептів, які не були погашені в термін 30 днів після виписування рецепта.
Medication 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
За інформацією, що була отримана за даними рецептами лікар повинен мати можливість витягнути інформацію про пацієнта (його декларацію) для оперативного зв’язку з ним.
Або щоденно legal_entity може використовувати запит Get Reimbursement report з параметрами по даті та по статусу.
Розблокування рецепта, що був заблокований
Електронний рецепт може бути заблокований фармацевтичним працівником чи працівником НСЗУ.
Розблокування доступне виключно лікарю, який виписав рецепт.
Можливість розблокування рецептів, що були заблоковані визначена налаштуваннями системи та дозволена за наступними параметрами:
Рецепт знаходиться в статусі Active
Лікар, який бажає розблокувати рецепт, є його автором
Рецепт заблоковано певним типом користувача
Дозвіл на розблокування лікарем | |
---|---|
Заблоковано фармацевтом | так |
Заблоковано працівником НСЗУ | ні |
При розблокуванні рецептів, користувач повинен використовувати методи Unblock Medication Request https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/unblock-medication-request
При розблокуванні рецепта повинна зазначатися причина такого розблокування та код зі словника MEDICATION_REQUEST_BLOCR_REASON.
Інформація про блокування рецептів повинна надаватися лікарю інструментами івент менеджера.
Права доступів до рецептів медичними працівниками закладів, що надають медичну допомогу
Отримання інформації про рецепти, або ж дії щодо рецептів в системі повинні бути організовані згідно наступних правил:
A - ЕР/заявки, автором яких є співробітник
L - ЕР/заявки/погашення, створені в закладі, де працює співробітник
D - ЕР/заявки пацієнта, з яким у співробітника є активна декларація
Е - ЕР/заявки, створені в рамках епізоду, до якого у співробітника є доступ
P - ЕР/заявки, створені на основі ПЛ, до якого у співробітника є доступ
Назва методу | OWNER | DOCTOR | SPECIALIST | ASSISTANT | MEDADMIN |
| ні | так | так | ні | ні |
| ні | так | так | ні | ні |
Get medication request requests by search params | ні | так/ні (A,L,D,E,P) | так/ні (A,L,E,P) | так/ні (L,E,P) | так/ні (L) |
Get Medication Request Requests in care plan context | ні | так/ні (P) | так/ні (P) | так/ні (P) | ні |
| ні | так/ні (A, P) | так/ні (A, P) | ні | так/ні (L) |
| ні | так/ні (A) | так/ні (A) | ні | ні |
| так/ні (L) | так/ні (A,D,E,P,L) | так/ні (A,L,E,P) | так/ні (L,E,P) | так/ні (L) |
так/ні (L) | так/ні (A,L,D,E,P) | так/ні (A,L,E,P) | так/ні (L,E,P) | так/ні (L) | |
| ні | так/ні (P) | так/ні (P) | так/ні (P) | ні |
| так/ні (L) | так/ні (A,D,E,P,L) | так/ні (A,L,E,P) | так/ні (L,E,P) | так/ні (L) |
| ні | так/ні (A,P) | так/ні (A,P) | ні | так/ні (L) |
| ні | так/ні (A,P) | так/ні (A,P) | ні | так/ні (L) |
| так/ні (L) | так/ні (A,D,E,P,L) | так/ні (A,L,E,P) | так/ні (L,E,P) | так/ні (L) |
| ні | так/ні (A,L,D,E,P) | так/ні (A,L,E,P) | так/ні (L,E,P) | так/ні (L) |
ні | так/ні (A,P) | так/ні (A,P) | ні | так/ні (L) | |
| так | так | так | так | так |
Get Reimbursement report
Також даний запит може використовуватись закладом для формування статистики або звітів щодо виписаних рецептів.
Інші допоміжні запити
Для реалізації свого унікального інтерфейсу, додаткових можливостей для кабінету лікаря МІС може скористатися всіма іншими доступними запитами, що були взагалі не описані або описані часткового в даному документі, але присутні в API та конфлюенсі:
https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement
Додатки:
З описом процесів, що пов'язані з виписуванням рецептів, також можна ознайомитися за посиланням RC_Rx_Процеси роботи з випискою електронних рецептів