Специфікація АПІ
https://app.swaggerhub.com/apis/ehealthua/compositions/2.39.2
Опис перевірок та валідацій
Об'єкт що перевіряється | Суть перевірки | Код помилки | Конфіг параметр | Create composition | Sign composition | |
---|---|---|---|---|---|---|
1 | identifier | Іd створюваного МВ не збігається з Іd існуючого в системі МВ з будь-яким статусом |
|
| + |
|
2 |
|
|
|
|
|
|
3 | status | Cтатус МВ, який продовжується/скорочується/уточнюється цією чернеткою (що підписується), не дорівнює ENTERED |
_IN |
_ERROR | 1184 |
|
| + | ||||||||
4 |
|
|
|
|
|
| ||||||
5 | type |
| 1073 |
| + |
| ||||||
6 | type | Тип МВ |
|
| + |
| ||||||
7 | type | Тип МВ не може змінюватися при створенні МВ “на заміну” | 1146 |
| + |
| ||||||
8 |
|
|
|
|
|
| ||||||
9 | category |
| 1081 1085 | emal_validation_category_newborn_system emal_validation_category_disability_system | + |
| ||||||
10 | category | Категорія МВ | 1161 |
| + |
| ||||||
11 | category | Така категорія МВ
| 1081 1085 | emal_validation_category_newborn_codes emal_validation_category_disability_codes | + |
| ||||||
12 |
|
|
|
|
|
| ||||||
13 | custodian | Такому типу закладу можна створювати таку категорію МВ:
| 1162 | emal_validation_custodian_categories_by_type | перевірка не по значенню з запиту |
| ||||||
14 | custodian | Перевірка що заклад має дозволений статус:
| 1164 | emal_validation_custodian_allowed_statuses | + | |||||||
15 |
|
|
|
|
|
| ||||||
16 | encounter | Запис має бути в Системі | 1016 |
| + |
| ||||||
17 | encounter | Запис не має бути скасованим (encounter.status не дорівнює “ENTERED_IN_ERROR“) | 1037 |
|
|
| ||||||
18 | encounter | Запис має належати пацієнту, зазначеному як subject в МВ | 1075 |
|
|
| ||||||
19 | encounter | Encounter.type має бути дозволений для категорії МВ що створюється | 1038 | EMAL_FILTER_ENCOUNTER_TYPE_NEWBORN EMAL_FILTER_ENCOUNTER_TYPE_DISABILITY | + |
| ||||||
20 | encounter | Параметр Encounter.date (або параметр encounter.period.start для взаємодії, в якій зазначено період замість дати) має бути не більше ніж зазначено в конфігурації у відповідності до категорії МВ | 1183 | EMAL_VALIDATION_ENCOUNTER_MAX_AGE_DAYS_BY_CATEGORY | + |
| ||||||
21 | encounter | На один Encounter.value має бути створений тільки один МВ тої самої категорії та типу в статусі “Підписаний“. При створенні МВ перевіряється чи вже існує на вказану взаємодію інший МВ такого ж типу та категорії в статусі “Підписаний“:
| 1217 |
| + | |||||||
22 |
|
|
|
|
|
| ||||||
23 | author | Перевірка що емплої - активний (status = APPROVED) | 1165 | EMAL_VALIDATION_AUTHOR_ACTIVE_STATUS_VALUE | + |
| ||||||
24 | author | Перевірка що працівник відноситься до юридичної особи вказаної в запиті (custodian) |
|
|
| + | ||||||
25 | author | Тип емплоя дозволений для категорії МВ
| 1166 | EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_TYPE | + |
| ||||||
26 | author | Посада емплоя дозволена для категорії МВ
| 1167 | EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_POSITION | + | + | ||||||
27 | author | Спеціальність за посадою емплоя - дозволена для категорії МВ (specialities->speciality in {config} & specialities->speciality_officio = true)
| 1168 | EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_SPECIALITY_OFFICIO | + |
| ||||||
28 | author | Перевірка що емплої має спеціальність яка вимагається для категорії МВ
| 1169 | EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_SPECIALITY | + |
| ||||||
29 |
|
|
|
|
|
| ||||||
30 | subject | Тип особи | 1188 | EMAL_VALIDATION_SUBJECT_CATEGORIES_BY_TYPE | + |
| ||||||
31 | subject | Статус особи дозволений для категорії МВ
| 1189 1190 | EMAL_VALIDATION_SUBJECT_ALLOWED_STATUSES_BY_CATEGORY | + |
| ||||||
32 | subject | Статус верифікації пацієнта дозволений для категорії МВ
| 1192 | EMAL_VALIDATION_SUBJECT_ALLOWED_VERIFICATION_STATUSES_BY_CATEGORY | + |
| ||||||
33 | subject | Вік особи на момент створення чернетки (composition.period.start-birth_date) дозволений для категоріії МВ *ігнорується для
| 1194 | EMAL_VALIDATION_SUBJECT_ALLOWED_AGES_BY_CATEGORY
| + |
| ||||||
34 | subject | Стать
| 1210 1211 | EMAL_VALIDATION_SUBJECT_GENDERS_BY_CATEGORY
| + |
| ||||||
35 | subject | Перевіряємо (лише для subject.type.coding.code = person):
| 1198 |
| + |
| ||||||
36 | subject | Дозволений тип документа особи для категорії МВ *ігнорується для
| 1196 | EMAL_VALIDATION_SUBJECT_DOCUMENTS_BY_CATEGORY | + |
| ||||||
37 | subject | Перевірка, що записи про ідентифікованого та неідентифікованого пацієнта поєднані (створення уточнюючого МВТН) | 1080 1104 |
| + |
| ||||||
38 | subject | Перевірка можливості зазначати екстеншен IS_FOREIGN_TREATMENT для типу вказаної особи (Для типу МВ =
| 1199 | + | ||||||||
39 |
|
|
|
|
|
| ||||||
40 | relatesTo | Якщо
| 1176 |
| + |
| ||||||
41 | relatesTo | Якщо
|
|
| + |
| ||||||
42 | relatesTo | Якщо зазначено
| 1177 |
| + |
| ||||||
43 | relatesTo | Якщо |
|
| + |
| ||||||
44 | relatesTo | Якщо |
|
| + |
| ||||||
45 | relatesTo | Перевірка що статус МВТН2 не дорівнює AMENDED. Якщо composition.status = AMENDED, то забороняємо підписувати цю чернетку, бо не можемо уточнювати той МВТН, який вже уточнено іншим МВТН | 1145 |
|
| + | ||||||
46 | relatesTo | Перевірка при підписанні чернетки, яка продовжує/скорочує попредній МВТН, на існування іншого МВТН у статусі FINAL, який продовжив/скоротив цей МВТН | 1184 |
|
| + | ||||||
47 | relatesTo | Перевірка, що МВТН2 має статус FINAL. Якщо це так, то дозволяємо підписати чернетку МВТН1. |
|
|
| + | ||||||
48 |
|
|
|
|
|
| ||||||
49 | event.period.start | Перевірка що дату передано у форматі ISO 8601 із обов’язковим приведенням до Всесвітнього координованого часу UTC (приклад: "2020-06-26T15:22:53.403Z") | 1170 |
| + |
| ||||||
50 | event.period.start | Початок терміну по уточнюючому МВТН збігається з початком терміну першого (чи єдиного) МВТН преперсони з ланцюга (при створенні уточнюючого МВТН) | 1158 |
| + |
| ||||||
51 | event.period.start | При створенні чернетки МВ валідується можливість зазначення початку періоду дійсності МВ в минулому:
| 1040 | МВН: EMAL_FILTER_PERIOD_START_NEWBORN МВТН: EMAL_FILTER_PERIOD_START_DISABILITY | + |
| ||||||
52 | event.period.start | Перевірка періоду в минулому впродовж якого можна створити МВ на заміну (у запиті на створення в relatesTo зазначено скасований МВ). Тобто, при створенні МВ на заміну ігноруються конфігураційні параметри EMAL_FILTER_PERIOD_START_DISABILITY та EMAL_FILTER_PERIOD_START_NEWBORN. Конфігурується для для кожного типу МВ. | 1158 | МВН: EMAL_FILTER_REPLACEMENT_PERIOD_START_NEWBORN МВТН: EMAL_FILTER_REPLACEMENT_PERIOD_START_DISABILITY |
|
| ||||||
53 | event.period.start | Перевірка при створенні чернетки МВ чи зазначено розширення IS_FOREIGN_TREATMENT = TRUE. В такому випадку ігноруються конфігураційний параметр EMAL_FILTER_PERIOD_START_DISABILITY | 1040 | EMAL_FILTER_PERIOD_START_DISABILITY | + |
| ||||||
54 | event.period.start | При створенні чернетки МВ валідується можливість зазначення початку періоду дійсності МВ в майбутньому. Створення МВ з початком непрацездатності в майбутньому дозволяється за таких умов:
Iнше - створення МВ заборонено. | 1218 1219 1220 1221 1222 1223 1224 1225
| EMAL_VALIDATION_PREGNANCY_APPENDED_COMPOSITION_ALLOWED_PERIOD | + | |||||||
55 | event.period.end | Перевірка що дату передано у форматі ISO 8601 із обов’язковим приведенням до Всесвітнього координованого часу UTC (приклад: "2020-06-26T15:22:53.403Z") | 1170 |
| + |
| ||||||
56 | event.period.end | Перевірка, за умови зазначенння relatesTo, що кінець терміну по уточнюючому МВТН збігається з кінцем терміну останнього (чи єдиного) МВТН преперсони з ланцюга | 1158 |
| + |
| ||||||
57 | event.period | Перевірка при підписанні чернетки на існування іншого висновку в зазначений період, але з датою початку пізніше, ніш запропонований в запиті | 1143 |
|
| + | ||||||
58 | event.period | Для первинного МВТН категорії PREGNANCY перевіряється термін дійсності непрацездатності:
| 1218 1219 1220 1221 1222 1223 1224 1225 | EMAL_VALIDATION_PREGNANCY_NEW_COMPOSITION_ALLOWED_PERIODS | + | |||||||
59 |
|
|
|
|
|
| ||||||
60 | section.focus | Тип особи | 1201 | EMAL_VALIDATION_FOCUS_CATEGORIES_BY_TYPE | + |
| ||||||
61 | section.focus | Статус дозволений для категорії МВ
| 1202 1203 | EMAL_VALIDATION_FOCUS_ALLOWED_STATUSES_BY_CATEGORY | + |
| ||||||
62 | section.focus | Статус верифікації дозволений для категорії МВ
| 1204 1205 | EMAL_VALIDATION_FOCUS_ALLOWED_VERIFICATION_STATUSES_BY_CATEGORY | + |
| ||||||
63 | section.focus | Вік особи на момент створення чернетки дозволений (composition.period.start-birth_date ) *ігнорується для
| 1206 1207 | EMAL_VALIDATION_FOCUS_ALLOWED_AGES_BY_CATEGORY | + |
| ||||||
64 | section.focus | Стать
| 1208 1209 | EMAL_VALIDATION_FOCUS_GENDERS_BY_CATEGORY | + |
| ||||||
65 | section.focus | Перевіряємо (лише для section.focus.type.coding.code = person):
| 1080 |
| + |
| ||||||
66 | section.focus | Дозволений тип документа особи для категорії МВ *ігнорується для
| 1212 1213 | EMAL_VALIDATION_FOCUS_DOCUMENTS_BY_CATEGORY | + |
| ||||||
67 | section.focus | Перевірка що записи ідентифікованої та неідентифікованої особи повинні бути поєднані (створення уточнюючого МВТН) | 1080 |
| + |
| ||||||
68 | section.focus | Конфігурується для певної категорії МВ (category.coding.code) можливість зазначати значення section.focus відмінне від subject. Якщо зазначено, що subject повинен дорівнювати section.focus = TRUE для даної категорії МВ, то:
| 1182 | EMAL_VALIDATION_SUBJECT_FOCUS_REQUIRE_EQUALITY_BY_CATEGORY | + |
| ||||||
69 | section.focus | Перевірка можливості зазначати екстеншен IS_FOREIGN_TREATMENT для типу вказаної особи (Для типу МВ =
| 1214 | + | ||||||||
70 |
|
|
|
|
|
| ||||||
71 | extensions | AUTHORIZE_WITH Значення параметра AUTHORIZE_WITH повинно відповідати значенню параметру AUTHORIZE_WITH персони, яку зазначено у section.focus | 1171 |
| + |
| ||||||
72 | extensions | AUTHORIZE_WITH не протермінований | 1171 |
|
|
| ||||||
73 | extensions | IS_ACCIDENT якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED |
_IN |
_ERROR, то перевірка на етапі створення уточнюючого МВТН (preperson → person). Якщо хоч в одному МВ з ланцюга який уточнюється, зазначено IS_ACCIDENT =TRUE, то в уточнюючому значення наслідується = “TRUE” | 1154 |
| + |
| ||||||||
74 | extensions | TREATMENT_VIOLATION. Дозволені значення лише з довідника COMPOSITION_TREATMENT_VIOLATION | 1088 |
| + |
| ||||||
75 | extensions | Якщо зазначено TREATMENT_VIOLATION, то TREATMENT_VIOLATION_DATE не повинно бути пустим (обов'язкове) | 1088 |
| + |
| ||||||
76 | extensions | TREATMENT_VIOLATION_DATE. Значення повинно бути в межах періоду дійсності ланцюга МВТН та поточногї дати/часу (event.period.start першого МВТН з ланцюга< TREATMENT_VIOLATION_DATE < NOW) | 1172 |
| + |
| ||||||
77 | extensions | Перевірка що TREATMENT_VIOLATION не повинно бути пустим, якщо зазначено параметр TREATMENT_VIOLATION_DATE | 1088 |
| + |
| ||||||
78 | extensions | IS_INTOXICATED якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED |
_IN |
_ERROR. Перевірка на етапі створення уточнюючого МВТН (preperson → person). Якщо хоч в одному МВТН з масиву який уточнюється, зазначено IS_INTOXICATED =TRUE, то в уточнюючому значення наслідується = “TRUE” | 1154 |
| + |
| ||||||||
79 | extensions | IS_FOREIGN_TREATMENT не може бути зазначений при створенні уточнюючого МВ (preperson → person), оскільки преперсона не може бути пролікована за кордоном. | 1156 |
| + |
| ||||||
80 | extensions | IS_FOREIGN_TREATMENT. Зазначення дозволене за конфігурацією з врахуванням категорії МВТН | 1175 |
| + |
| ||||||
81 | extensions | IS_FOREIGN_TREATMENT. Якщо зазначено “TRUE“, то не виконується валідація за EMAL_FILTER_DISABILITY_SINGLE_SPAN_DISABILITY. Якщо IS_FOREIGN_TREATMENT = false, або такий екстеншен не переданий, то валідація за EMAL_FILTER_DISABILITY_SINGLE_SPAN_DISABILITY виконується. | 1031 |
| + | |||||||
82 | extensions | IS_FORCE_RENEW. Якщо зазначено “TRUE“, то для створюваного МВТН не проводиться пошук пов'язаного, та не заповнюється relatesTo | відсутній |
| + |
| ||||||
83 | extensions | extension будь який: зазначення дозволене за конфігурацією з врахуванням категорії МВ | 1175 | EMAL_VALIDATION_EXTENSION_ALLOWED_BY_CATEGORY | + |
| ||||||
84 | extensions | NEWBORN_BIRTH_DATE
| 1084 1173 1088 1115 |
|
|
| ||||||
85 | extensions | NEWBORN_SEX
| 1084 1174 |
|
|
|