Передбачені зміни до існуючого функціоналу:
1. можливість передавання ідентифікатора МВ в явному вигляді в об’єкті relatesTo у випадках створення “на заміну” та створення уточнюючого МВ за наступним правилом:
relatesTo.code = replaces;
relatesTo.targetIdentifier = ідентифікатор МВ;
2. необхідність явного зазначення двох додаткових параметрів при створенні МВ про народження:
дата народження дитини (параметр “extension.newborn_birth_date“), в якому зазначається дата народження новонародженої дитини. Має дорівнювати параметру “preperson.birth_date” та відповідати даті, вказаної у параметрі “event.period.start”;
стать новонародженого (параметр “extension.newborn_sex“) із довідника “GENDER“,що має дорівнювати параметру “preperson.gender”.
API Method
https://app.swaggerhub.com/apis/ehealthua/compositions/2.27.5#/main/createComposition
Бізнес-процес
2. Cтворення/підписання МВ (загальний процес)
Опис
Метод призначений для створення Медичного Висновку. За дотримання умов запиту на створення ЕСОЗ виконує внутрішню задачу CREATE_COMPOSITION.
Задача CREATE_COMPOSITION
Мета
Задача CREATE_COMPOSITION виконується асинхронно, і є основною задачею по створенню чернетки медичного висновку всіх типів і категорій. Фінальна ціль задачі — створити чернетку, яка пройшла набір перевірок щодо атрибутів і об'єктів і субʼєктів медичного висновку.
Передумови
Задачу було створено відповідним методом REST API (POST /patients/composition)
Задача має стан PENDING(очікує на перше виконання), або INTERNAL-ERROR(очікує на повторне виконання згідно з логікою і конфігурацією повторних спроб виконання задачі)
Логічна послідовність виконання
prechecks - сценарій по початковим перевіркам вхідних даних запиту, що можуть ініціювати різні під-процеси (в основному пов'язані з зазначенням атрибуту relatesTo).
EncounterProcessing - Отримання і опрацювання медичного запису типу Encounter
EmployeeProcessing - Отримання і опрацювання запису про співробітника Employee, якого вказано в атрибуті Composition.author
DivisionProcessing - Отримання і опрацювання запису про відділення медичного закладу, до якого належить Employee
LegalEntityProcessing - Отримання і опрацювання запису про медичний заклад до якого належить Employee
SubjectProcessing - Отримання і опрацювання запису пацієнта
FocusProcessing - Отримання і опрацювання запису субʼєкта медвисновку
getSmsPhoneNumber - Отримання номера телефону для надсилання SMS про відкритий МВ
Збереження запису медичного висновку в СУБД
Оновлення статусу задачі в DONE