...
Перевірити вхідні дані у відповідності до схеми
Створити job з типом
create_medication_registry
Для кожного рядка вхідного файлу створити окрему задачу по job
Когда задача повинна перевіряти існуючі та створені нові сутності медичного реєстру:
Отримати лікарські засоби з
type = INNM_DOSAGE
,is_active = TRUE
,innm_dosage.name
,innm_dosage.form
таinnm_dosage.ingredients.dosage
,innm_dosage.ingredients.is_primary
):в разі, якщо знайдено отримати пов'язані ЛЗ з
type = BRAND
,is_active = TRUE
,brand.name
,brand.form
,brand.package_qty
,brand.package_min_qty
,brand.certificate
,brand.container
таbrand.ingredients.dosage
,brand.ingredients.is_primary
):в разі, якщо знайдено отримати пов'язаних учасників програми по medication_id та
program_medications.medical_program_id
та додати медикаменти бренд у відповідності до https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#programregistry#program_medications якщо не знайдено учасника програми
в разі, якщо innm_dosage не знайдено додати їх у відповідності до https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#medicationsregistry#medications-(type-=%3D-INNM_DOSAGE) та їх інгрідієнтів https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#ingredientsregistry#ingredients-(for-INNM_DOSAGE) , https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#innmsregistry#innms (пропустити створення innms в разі, якщо існують).
в разі, якщо brand не знайдено додати їх у відповідності до https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#medicationsregistry#medications-(type-=%3D-BRAND) та їх інгрідієнтів https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#ingredientsregistry#ingredients-(for-BRAND) .
додати учасника програми з брендом у відповідності до https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/1715365479617205985289/RC_Create+full+medication+registry_EN#programregistry#program_medications
в разі, якщо знайдено brand та учасника програми - повернути статус задачі
FAILED
з помилкою ('Such medication already exist')
Повернути ідентифікатор job зі статусом.
...
Атрибут | Джерело та логіка | Типи та обмеження | Н/О | ||
---|---|---|---|---|---|
id | uuid_generate_v4(), auto | uuid | О | ||
name | brand.name | varchar(255) | О | ||
type | auto (BRAND) | varchar(255) | О | ||
manufacturer | name | brand.manufacturer.name | jsonb | varchar(255) | О |
country | brand.manufacturer.country | varchar(255) Dictionary COUNTRY | О | ||
code_atc | brand.code_atc | jsonb | varchar(255) | О | |
is_active | true, auto | bool | О | ||
form | brand.form | varchar(255) Dictionary MEDICATION_FORM | О | ||
container | numerator_value | brand.container.numerator_value | jsonb | float8 | О |
numerator_unit | brand.container.numerator_unit | varchar(255) Dictionary MEDICATION_UNIT | О | ||
denumerator_value | brand.container.denumerator_value | float8 | О | ||
denumerator_unit | brand.container.denumerator_unit | varchar(255) Dictionary MEDICATION_UNIT | О | ||
package_qty | brand.package_qty | float | Н | ||
package_min_qty | brand.package_min_qty | float | Н | ||
certificate | brand.certificate | varchar(255) | Н | ||
certificate_expired_at | brand.certificate_expired_at | date | Н | ||
inserted_by | user_id, from token | uuid | О | ||
updated_by | user_id, from token | uuid | О | ||
inserted_at | now(), auto | timestamp | О | ||
updated_at | now(), auto | timestamp | О | ||
form_pharm | brand.form_pharm | varchar(255) | Н | ||
max_request_dosage | brand.max_request_dosage | int | Н |
...