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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Current »

Специфікація АПІ

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

type.coding.system відповідає заданому ресурсу

1073

 

 +

 

6

type

Тип МВ type.coding.code існує в довіднику type.coding.system

 

 

+

 

7

type

Тип МВ не може змінюватися при створенні МВ “на заміну”

1146

 

+

 

8

 

 

 

 

 

 

9

category

category.coding.system відповідає заданому в конфігураціях ресурсу

1081

1085

emal_validation_category_newborn_system

emal_validation_category_disability_system

 +

 

10

category

Категорія МВ category.coding.code існує в довіднику, який задано в атрибуті category.coding.system

1161

 

+

 

11

category

Така категорія МВ category.coding.code дозволена для такого типу МВ type.coding.code

  1. якщо у конфігураційному параметрі зазначено явно категорію МВ, то створення МВ з такими типом та категорією дозволено;

  2. інакше - створення МВ заборонено.

1081

1085

emal_validation_category_newborn_codes

emal_validation_category_disability_codes

+

 

12

 

 

 

 

 

 

13

custodian

Такому типу закладу можна створювати таку категорію МВ:

  1. якщо у конфігураційному параметрі зазначено явно тип закладу та категорію МВ, то створення МВ цим закладом та такої категорії дозволяється;

  2. інакше - створення МВ заборонено;

1162

emal_validation_custodian_categories_by_type

перевірка не по значенню з запиту

 

14

custodian

Перевірка що заклад має дозволений статус:

  1. якщо у конфігураційному параметрі зазначено явно статус закладу та тип МВ, то створення цим закладом МВ такого типу дозволяється;

  2. інакше - створення МВ заборонено.

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 має бути створений тільки один МВ тої самої категорії та типу в статусі “Підписаний“. При створенні МВ перевіряється чи вже існує на вказану взаємодію інший МВ такого ж типу та категорії в статусі “Підписаний“:

  1. якщо такий МВ існує - створення МВ не дозволяється;

  2. інше - створення МВ дозволяється.

1217

 

+

22

 

 

 

 

 

 

23

author

Перевірка що емплої - активний (status = APPROVED)

1165

EMAL_VALIDATION_AUTHOR_ACTIVE_STATUS_VALUE

+

 

24

author

Перевірка що працівник відноситься до юридичної особи вказаної в запиті (custodian)

 

 

 

+

25

author

Тип емплоя дозволений для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно employee.type та категорію МВ, то створення цим employee такої категорії МВ дозволяється;

  2. інакше - створення МВ заборонено

1166

EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_TYPE

+

 

26

author

Посада емплоя дозволена для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно employee.position та категорію МВ, то створення цим employee такої категорії МВ дозволяється;

  2. інакше - створення МВ заборонено

1167

EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_POSITION

+

+

27

author

Спеціальність за посадою емплоя - дозволена для категорії МВ

(specialities->speciality in {config} & specialities->speciality_officio = true)

  1. якщо у конфігураційному параметрі зазначено явно employee.speciality та категорію МВ, то створення цим employee такої категорії МВ дозволяється;

  2. інакше - створення МВ заборонено

1168

EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_SPECIALITY_OFFICIO

+

 

28

author

Перевірка що емплої має спеціальність яка вимагається для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно employee.speciality та категорію МВ, то створення цим employee такої категорії МВ дозволяється;

  2. інакше - створення МВ заборонено

1169

EMAL_VALIDATION_AUTHOR_CATEGORIES_BY_SPECIALITY

+

 

29

 

 

 

 

 

 

30

subject

Тип особи subject.type.coding.code дозволений для такої категорії МВ category.coding.code

1188

EMAL_VALIDATION_SUBJECT_CATEGORIES_BY_TYPE

+

 

31

subject

Статус особи дозволений для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно patient.status та категорію МВ, то створення для цього пацієнта такої категорії МВ дозволяється;

  2. інакше - створення МВ заборонено

1189

1190

EMAL_VALIDATION_SUBJECT_ALLOWED_STATUSES_BY_CATEGORY

+

 

32

subject

Статус верифікації пацієнта дозволений для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно patient.verification_status, то створення для цього пацієнта МВ такої категорії дозволяється;

  2. інакше - створення МВ заборонено

1192

EMAL_VALIDATION_SUBJECT_ALLOWED_VERIFICATION_STATUSES_BY_CATEGORY

+

 

33

subject

Вік особи на момент створення чернетки (composition.period.start-birth_date) дозволений для категоріії МВ

*ігнорується для subject.type.coding.code = preperson

  1. Якщо вік пацієнта (person) на момент створення МВ відповідає конфігураційному параметру, то дозволити створення такої категорії МВ;

  2. інакше - створення МВ заборонено

1194

EMAL_VALIDATION_SUBJECT_ALLOWED_AGES_BY_CATEGORY

 

+

 

34

subject

Стать gender особи дозволена для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно дозволене значення статі за категорією МВ, то створення для цього пацієнта МВ такої категорії дозволяється;

  2. якщо у конфігураційному параметрі не зазначено явно значення статі за категорією МВ, то створення для цього пацієнта МВ дозволяється;

  3. інакше - створення МВ заборонено

1210

1211

EMAL_VALIDATION_SUBJECT_GENDERS_BY_CATEGORY

 

+

 

35

subject

Перевіряємо (лише для subject.type.coding.code = person):

  1. Дозволено створення у випадках (будь який варіант - ОК):

    1. "no_tax_id"= true,
      and tax_id isnull

    2. “no_tax_id"= false
      and MC.composition.date-MPI.birth_date>=14,
      and tax_id notnull

    3. “no_tax_id"= false or null
      and MC.composition.date-MPI.birth_date<14

1198

 

+

 

36

subject

Дозволений тип документа особи для категорії МВ

*ігнорується для subject.type.coding.code = preperson

  1. якщо у конфігураційному параметрі зазначено явно дозволене значення типу дозволених документів пацієнта, то створення для цього пацієнта такої категорії МВ дозволяється;

  2. якщо у конфігураційному параметрі не зазначено явно обмеження по типах документів пацієнта, то створення для цього пацієнта такої категорії МВ дозволяється;

  3. інакше - створення МВ заборонено

1196

EMAL_VALIDATION_SUBJECT_DOCUMENTS_BY_CATEGORY

+

 

37

subject

Перевірка, що записи про ідентифікованого та неідентифікованого пацієнта поєднані (створення уточнюючого МВТН)

 1080

1104

 

+

 

38

subject

Перевірка можливості зазначати екстеншен IS_FOREIGN_TREATMENT для типу вказаної особи (Для типу МВ = TEMP_DISABILITY)

  1. Якщо subject.type.coding.code = preperson та IS_FOREIGN_TREATMENT=true, то забороняється створювати МВ для цього пацієнта

  2. інше - дозволяється створювати МВ для цього пацієнта

1199

+

39

 

 

 

 

 

 

40

relatesTo

Якщо relatesTo.code передано, то перевірити, що значення відповідає заданому в конфіг-чартах ресурсу:

  1. якщо так, то створення МВ дозволяється;

  2. інакше - створення МВ заборонено;

 1176

 

+

 

41

relatesTo

Якщо relatesTo.code передано, то перевіряємо, чи коректне значення задане у relatesTo.code:

  1. якщо так, то створення МВ дозволяється;

  2. інакше - створення МВ заборонено;

 

 

+

 

42

relatesTo

Якщо зазначено relatesTo.code, то перевіряємо, що МВ, на який посилаються (relatesTo.target[x]) має статус, що визначено до типу зв'язку relatesTo.code:

  • replaces: “FINAL” or “ENTERED_IN_ERROR”;

  • appends: “FINAL”;

  • transforms: “FINAL”;

 1177

 

+

 

43

relatesTo

Якщо relatesTo.code передано, то перевірити, що МВ на який посилаються (relatesTo.target[x]) має type.coding.codeякий відповідає type.coding.code поточного МВ який створюється

 

 

+

 

44

relatesTo

Якщо relatesTo.code передано, то перевірити, що мв на який посилаються (relatesTo.target[x]) видано дозволеному типу особи relatesTo ...subject.type.coding.code який відповідає типу зв'язку relatesTo.code

 

 

+

 

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

При створенні чернетки МВ валідується можливість зазначення початку періоду дійсності МВ в минулому:

  • для МВ про народження EMAL_FILTER_PERIOD_START_NEWBORN

  • для МВТН EMAL_FILTER_PERIOD_START_DISABILITY

 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

При створенні чернетки МВ валідується можливість зазначення початку періоду дійсності МВ в майбутньому. Створення МВ з початком непрацездатності в майбутньому дозволяється за таких умов:

  1. якщо це продовження попереднього випадку непрацездатності за категорією PREGNANCY (relatesTo.code = APPENDS) та це єдине продовження;

  2. початок непрацездатності продовження зазначено в майбутньому (event.period.start МВТН2 >= task.created) та з наступного календарного дня після дати закінчення непрацездатності за попереднім МВТН категорії “Вагітність та пологи” (event.period.end.МВТН1+1 день);

  3. довжина періоду непрацездатності (event.period.end - event.period.start) відповідає дозволеному значенню в EMAL_VALIDATION_PREGNANCY_APPENDED_COMPOSITION_ALLOWED_PERIOD;

  4. загальна довжина періоду непрацездатності первинного МВТН та продовження проходить валідацію по EMAL_FILTER_DISABILITY_TOTAL_SPAN_DISABILITY.

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 перевіряється термін дійсності непрацездатності:

  1. якщо загальна кількість календарних днів періоду непрацездатності, з врахуванням кінцевої дати, відповідає одному з значень в конфігураційному параметрі EMAL_VALIDATION_PREGNANCY_NEW_COMPOSITION_ALLOWED_PERIODS - створення такого МВТН дозволяється;

  2. інше - створення такого МВТН забороняється.

1218

1219

1220

1221

1222

1223

1224

1225

EMAL_VALIDATION_PREGNANCY_NEW_COMPOSITION_ALLOWED_PERIODS

+

59

 

 

 

 

 

 

60

section.focus

Тип особи section.focus.type.coding.code дозволений для такої категорії МВ category.coding.code

1201

EMAL_VALIDATION_FOCUS_CATEGORIES_BY_TYPE

+

 

61

section.focus

Статус дозволений для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно статус та категорію МВ, то створення для цїєї непрацездатної особи такої категорії МВ дозволяється;

  2. інакше - створення МВ заборонено

1202

1203

EMAL_VALIDATION_FOCUS_ALLOWED_STATUSES_BY_CATEGORY

+

 

62

section.focus

Статус верифікації дозволений для категорії МВ

  1. якщо у конфігураційному параметрі зазначено явно статус верифікації, то створення для цїєї непрацездатної особи МВ дозволяється;

  2. інакше - створення МВ заборонено

1204

1205

EMAL_VALIDATION_FOCUS_ALLOWED_VERIFICATION_STATUSES_BY_CATEGORY

+

 

63

section.focus

Вік особи на момент створення чернетки дозволений (composition.period.start-birth_date )

*ігнорується для section.focus.type.coding.code = preperson

  1. Якщо вік непрацездатної особи (person), на момент створення МВ, відповідає діапазону вказаному в конфігураційному параметрі, то дозволяється створення такого МВ

  2. інакше - створення МВ заборонено

1206

1207

EMAL_VALIDATION_FOCUS_ALLOWED_AGES_BY_CATEGORY

+

 

64

section.focus

Стать gender особи дозволена для категорії

  1. якщо у конфіг параметрі зазначено явно дозволене значення статі за категорією МВ, то створення для цього section.focus МВ дозволяється;

  2. якщо у конфіг параметрі не зазначено явно значення статі за категорією МВ, то створення для цього section.focus МВ дозволяється;

  3. інакше - створення МВ заборонено

1208

1209

EMAL_VALIDATION_FOCUS_GENDERS_BY_CATEGORY

+

 

65

section.focus

Перевіряємо (лише для section.focus.type.coding.code = person):

  1. Дозволено створення у випадках (будь який варіант - ОК):

    1. "no_tax_id"= true,
      and tax_id isnull

    2. “no_tax_id"= false
      and MC.composition.date-MPI.birth_date>=14,
      and tax_id notnull

    3. “no_tax_id"= false or null
      and MC.composition.date-MPI.birth_date<14

1080

 

+

 

66

section.focus

Дозволений тип документа особи для категорії МВ

*ігнорується для section.focus.type.coding.code = preperson

  1. якщо у конфігураційному параметрі зазначено явно дозволене значення типу дозволених документів непрацездатної особи, то створення для цієї особи такої категорії МВ дозволяється;

  2. якщо у конфігураційному параметрі не зазначено явно обмеження по типах документів непрацездатної особи, то створення для цієї особи такої категорії МВ дозволяється;

  3. інакше - створення МВ заборонено

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 для даної категорії МВ, то:

  • створення МВ з зазначенням атрибуту section.focus відмінного від значення subject забороняється;

  • створення такого МВ де subject=section.focus дозволяється.

1182

EMAL_VALIDATION_SUBJECT_FOCUS_REQUIRE_EQUALITY_BY_CATEGORY

+

 

69

section.focus

Перевірка можливості зазначати екстеншен IS_FOREIGN_TREATMENT для типу вказаної особи (Для типу МВ = TEMP_DISABILITY)

  1. Якщо section.focus.type.coding.code = preperson та IS_FOREIGN_TREATMENT=true, то забороняється створювати МВ для цієї непрацездатної особи

  2. інше - дозволяється створювати МВ для цієї непрацездатної особи

1214

+

70

 

 

 

 

 

 

71

extensions

AUTHORIZE_WITH

Значення параметра AUTHORIZE_WITH повинно відповідати значенню параметру AUTHORIZE_WITH персони, яку зазначено у section.focus

1171

 

+

SIGNED_CONTENT

72

extensions

AUTHORIZE_WITH не протермінований

1171

 

 

SIGNED_CONTENT

73

extensions

IS_ACCIDENT

якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED_IN_ERROR, то перевірка на етапі створення уточнюючого МВТН (preperson → person).

Якщо хоч в одному МВ з ланцюга який уточнюється, зазначено IS_ACCIDENT =TRUE, то в уточнюючому значення наслідується = “TRUE”

1154

 

+

SIGNED_CONTENT

74

extensions

TREATMENT_VIOLATION. Дозволені значення лише з довідника COMPOSITION_TREATMENT_VIOLATION

1088

 

+

SIGNED_CONTENT

75

extensions

Якщо зазначено TREATMENT_VIOLATION, то TREATMENT_VIOLATION_DATE не повинно бути пустим (обов'язкове)

1088

 

+

SIGNED_CONTENT

76

extensions

TREATMENT_VIOLATION_DATE.

Значення повинно бути в межах періоду дійсності ланцюга МВТН та поточногї дати/часу (event.period.start першого МВТН з ланцюга< TREATMENT_VIOLATION_DATE < NOW)

1172

 

+

SIGNED_CONTENT

77

extensions

Перевірка що TREATMENT_VIOLATION не повинно бути пустим, якщо зазначено параметр TREATMENT_VIOLATION_DATE

1088

 

+

SIGNED_CONTENT

78

extensions

IS_INTOXICATED

якщо relatesTo.code = replaces та статус МВ не дорівнює ENTERED_IN_ERROR. Перевірка на етапі створення уточнюючого МВТН (preperson → person).

Якщо хоч в одному МВТН з масиву який уточнюється, зазначено IS_INTOXICATED =TRUE, то в уточнюючому значення наслідується = “TRUE”

1154

 

+

SIGNED_CONTENT

79

extensions

IS_FOREIGN_TREATMENT не може бути зазначений при створенні уточнюючого МВ (preperson → person), оскільки преперсона не може бути пролікована за кордоном.

1156

 

+

SIGNED_CONTENT

80

extensions

IS_FOREIGN_TREATMENT.

Зазначення дозволене за конфігурацією з врахуванням категорії МВТН

1175

 

+

SIGNED_CONTENT

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

відсутній

 

 +

SIGNED_CONTENT

83

extensions

extension будь який: зазначення дозволене за конфігурацією з врахуванням категорії МВ

1175

EMAL_VALIDATION_EXTENSION_ALLOWED_BY_CATEGORY

 +

 

84

extensions

NEWBORN_BIRTH_DATE

  1. не може бути пустим;

  2. формат: date;

  3. має дорівнювати одночасно значенню параметрів preperson.birth_date та в розрізі дати composition.event.period.start;

  4. дозволяється для зазначення у composition.type = NEWBORN

1084

1173

1088

1115

 

 

SIGNED_CONTENT

85

extensions

NEWBORN_SEX

  1. не може бути пустим;

  2. дозволені значення з довідника https://api-preprod.ehealth.gov.ua/api/dictionaries?name=GENDER

  3. має дорівнювати значенню параметра preperson.gender;

  4. дозволяється для зазначення у composition.type = NEWBORN

1084

1174

 

 

SIGNED_CONTENT

  • No labels