Специфікація АПІ
https://app.swaggerhub.com/apis/ehealthua/compositions/2.3239.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 | Тип особи |
1082
10861188 | EMAL_VALIDATION_SUBJECT_CATEGORIES_BY_TYPE | + |
|
31 | subject | Статус особи дозволений для категорії МВ
|
1189 |
1190 | EMAL_VALIDATION_SUBJECT_ALLOWED_STATUSES_BY_CATEGORY | + |
|
32 | subject | Статус верифікації пацієнта дозволений для категорії МВ
|
1082
10861192 | EMAL_VALIDATION_SUBJECT_ALLOWED_VERIFICATION_STATUSES_BY_CATEGORY | + |
|
33 | subject | Вік особи на момент створення чернетки (composition.period.start-birth_date) дозволений для категоріії МВ *ігнорується для
|
1082
10861194 | 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 | Дозволений тип документа особи для категорії МВ *ігнорується для
|
1082
10861196 | 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. |
Перевірка що дату передано у форматі ISO 8601 із обов’язковим приведенням до Всесвітнього координованого часу UTC (приклад: "2020-06-26T15:22:53.403Z")
1170
+
event.period.end
Перевірка, за умови зазначенння relatesTo, що кінець терміну по уточнюючому МВТН збігається з кінцем терміну останнього (чи єдиного) МВТН преперсони з ланцюга
1158
+
event.period
Перевірка при підписанні чернетки на існування іншого висновку в зазначений період, але з датою початку пізніше, ніш запропонований в запиті
1143
+
section.focus
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 ) *ігнорується для |
category.coding.code
1080= preperson
| 1206 1207 | EMAL_VALIDATION_FOCUS_ |
ALLOWED_AGES_BY_ |
CATEGORY | + |
|
64 | section.focus |
Стать
|
|
|
| 1208 |
1209 | EMAL_VALIDATION_FOCUS_ |
GENDERS_ |
BY_CATEGORY | + |
|
якщо у конфіг параметрі зазначено явно дозволене значення статі за категорією МВ, то створення для цього section.focus МВ дозволяється;
65 | section.focus |
Статус верифікації дозволений для категорії МВ
якщо у конфігураційному параметрі зазначено явно статус верифікації, то створення для цїєї непрацездатної особи МВ дозволяється;
інакше - створення МВ заборонено
1080
EMAL_VALIDATION_FOCUS_ALLOWED_VERIFICATION_STATUSES_BY_CATEGORY
+
section.focus
Вік особи на момент створення чернетки дозволений (composition.period.start-birth_date )
*ігнорується для section.focus.type.coding.code
= preperson
Якщо вік непрацездатної особи (person), на момент створення МВ, відповідає діапазону вказаному в конфігураційному параметрі, то дозволяється створення такого МВ
інакше - створення МВ заборонено
1080
EMAL_VALIDATION_FOCUS_ALLOWED_AGES_BY_CATEGORY
+
section.focus
Стать gender
особи дозволена для категорії
section.focus
Перевіряємо (лише для section.focus.type.coding.code = person):
Дозволено створення у випадках (будь який варіант - ОК):
"no_tax_id"= true,
and tax_id isnull
“no_tax_id"= false
and MC.composition.date-MPI.birth_date>=14,
and tax_id notnull
and MC.composition.date-MPI.birth_date<14
Перевіряємо (лише для section.focus.type.coding.code = person):
| 1080 |
| + |
|
66 | section.focus | Дозволений тип документа особи для категорії МВ *ігнорується для
|
1080
EMAL_VALIDATION_FOCUS_GENDERS_BY_CATEGORY
+
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 | Перевірка |
1080
+
section.focus
Конфігурується для певної категорії МВ (category.coding.code) можливість зазначати значення section.focus відмінне від subject.
Якщо зазначено, що subject повинен дорівнювати section.focus = TRUE для даної категорії МВ, то:
створення МВ з зазначенням атрибуту section.focus відмінного від значення subject забороняється;
створення такого МВ де subject=section.focus дозволяється.
1182
EMAL_VALIDATION_SUBJECT_FOCUS_REQUIRE_EQUALITY_BY_CATEGORY
+
section.focus
Перевірка можливості зазначати екстеншен IS_FOREIGN_TREATMENT для типу вказаної особи (Для типу МВ = TEMP_DISABILITY
)
Якщо
section.focus.type.coding.code
= preperson та IS_FOREIGN_TREATMENT=true, то забороняється створювати МВ для цієї непрацездатної особиінше - дозволяється створювати МВ для цієї непрацездатної особи
1087
+
extensions
AUTHORIZE_WITH
Значення параметра AUTHORIZE_WITH повинно відповідати значенню параметру AUTHORIZE_WITH персони, яку зазначено у 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 |
AUTHORIZE_WITH не протермінований
TREATMENT_VIOLATION. Дозволені значення лише з довідника COMPOSITION_TREATMENT_VIOLATION | 1088 |
|
+ |
|
75 | extensions |
IS_ACCIDENT
якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED-IN-ERROR, то перевірка на етапі створення уточнюючого МВТН (preperson → person).
Якщо хоч в одному МВ з ланцюга який уточнюється, зазначено IS_ACCIDENT =TRUE, то в уточнюючому значення наслідується = “TRUE”
Якщо зазначено 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 |
TREATMENT_VIOLATION_DATE.
Значення повинно бути в межах періоду дійсності ланцюга МВТН та поточногї дати/часу (event.period.start першого МВТН з ланцюга< TREATMENT_VIOLATION_DATE < NOW)
IS_INTOXICATED якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED_IN_ERROR. Перевірка на етапі створення уточнюючого МВТН (preperson → person). Якщо хоч в одному МВТН з масиву який уточнюється, зазначено IS_INTOXICATED =TRUE, то в уточнюючому значення наслідується = “TRUE” | 1154 |
| + |
|
79 | extensions |
Перевірка що TREATMENT_VIOLATION не повинно бути пустим, якщо зазначено параметр TREATMENT_VIOLATION_DATE
IS_FOREIGN_TREATMENT не може бути зазначений при створенні уточнюючого МВ (preperson → person), оскільки преперсона не може бути пролікована за кордоном. | 1156 |
| + |
|
80 | extensions | IS |
якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED-IN-ERROR. Перевірка на етапі створення уточнюючого МВТН (preperson → person).
Якщо хоч в одному МВТН з масиву який уточнюється, зазначено IS_INTOXICATED =TRUE, то в уточнюючому значення наслідується = “TRUE”
1154_FOREIGN_TREATMENT. Зазначення дозволене за конфігурацією з врахуванням категорії МВТН | 1175 |
| + |
|
81 | extensions | IS_FOREIGN_TREATMENT |
1156
+
Status | ||||
---|---|---|---|---|
|
extensions
IS_FOREIGN_TREATMENT.
Зазначення дозволене за конфігурацією з врахуванням категорії МВТН
. Якщо зазначено “TRUE“, то не виконується валідація за EMAL_FILTER_DISABILITY_SINGLE_SPAN_DISABILITY. Якщо IS_FOREIGN_TREATMENT = false, або такий екстеншен не переданий, то валідація за EMAL_FILTER_DISABILITY_SINGLE_SPAN_DISABILITY виконується. | 1031 |
| + |
Status | ||||
---|---|---|---|---|
|
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 |
|
|
|