Table of Contents |
---|
...
Даний веб-сервіс (WS) дозволяє перевірии активність плану лікування на можливість визначення чи може медична програма бути використана в даному конкретному випадку чи ні.
Основні положення
Активність може бути перевірена співробітником, у якого наявний апрувал, наданий пацієнтом на редагування ресурсу плану лікування
Активність повинан бути підписана цифровим підписом (DS)
Специфікація
Авторизація
...
Перевірити, що значення є масивом з помиланням посиланням на типи condition, observation, diagnostic report, clinical impression.
в разі помилки - повернути 422 ('value is not allowed in enum')
Перевірити, що кожне посилання:
це валідне ME
належить пацієнту ($.subject)
в разі помилки - повернути 422 ('<medical event type> with such ID is not found')
Якщо $.detail.reason_reference=clinical_impression:
Перевірити, що клінічна оцінка це валідне посилання clinical_impression.code.coding.code та конфігураційні параметри CLINICAL_IMPRESSION_PATIENT_CATEGORIES_<CODE.CODING.CODE>_VALIDITY_PERIOD: різниця між now() та датою clinical_impression.inserted_at повинна бути менше ніж значення конфігураційного параметру (вказано в config для відповідної категорії плану лікування) для коду клінічної оцінки
в разі помилки - повернути 422 ("Clinical impression with patient category exceeds validity period")
5. Мета
Перевірити значення поля $.detail.goal, якщо вказано
...
Перевірити, що програма існує та активна
якщо не знайдено або is_active==false повернути 200 з
status
= INVALID таrejection_reason
"Program not found"
Перевірити, що продукт є учасником програми:
Якщо продуктом є medication - перевірити, що медикамент має бренд, який є активним учасником програми (program_medications table)
в разі, якщо не знайдено або is_active==false повернути 200 з
status
= INVALID таrejection_reason
"Medication is not included in the program"
Якщо продуктом є service - перевірити, що сервіс є активним учасником програми
в разі, якщо не знайдено або is_active==false повернути 200 з
status
= INVALID таrejection_reason
"Service is not included in the program"
Якшр продуктом є service_group - перевірити, що сервісна група є активним учасником програми
якщо не знайдено або is_active==false повернути 200 з
status
= INVALID таrejection_reason
"Service group is not included in the program"
Перевірити налаштування медичної програми (prm.medical_programs table):
якщо вказано параметр speciality_types_allowed:
Перевірити спеціалізацію автора в speciality_types_allowed
в разі помилки - повернути 200 з
status
= INVALID таrejection_reason
“Author’s specialty doesn't allow to create activity with medical program from request”
якщо вказано параметр conditions_icd10_am_allowed або/і conditions_icpc2_allowed:
Перевірити, що пов'язаний план лікування має коди станів в полі
addresses
, які відповідають кодам, вказаним в conditions_icd10_am_allowed або/і conditions_icpc2_allowed (в залежності від довідника - eHealth/ICD10_AM/condition_codes або eHealth/ICPC2/condition_codes)в разі помилки - повернути 200 з
status
= INVALID таrejection_reason
“Care plan diagnosis is not allowed for the medical program“
Якщо є параметр providing_conditions_allowed:
Перевірити пов'язані плани лікування мають значення в полі
terms_of_service
, що включено в перелік паметрів providing_conditions_allowedв разі помилки - повернути 200 з
status
= INVALID таrejection_reason
“Care plan’s terms of service are not allowed for the medical program“
якщо вказано параметр patient_categories_allowed:
перевірити, чи patient_categories_allowed не нуль, то $.detail.reason_reference повинен містити посилання на clinical_impression з категорією пацієнтів
перевірити, чи patient_categories_allowed має коди в $.detail.reason_reference.[].clinical_impression.code.[].value, що відповідають кодам, вказаним в pointed in patient_categories_allowed
в разі помилки повернути 200 з
status
= INVALID таrejection_reason
("Clinical impression with patient category should be present in request for this medical program")
Якщо програма відповідає вимогам, встановити статус "VALID" у відповідності до apiary.
Сервісна логіка
Відобразити відповідь з результатом перевірки у відповідності до визначення, що медична програма може бути застосована в даному випадку чи ні