Info |
---|
REST API method / Метод REST API (настанова) (remove the link block before publishing the document) |
...
Page Properties | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
...
Configuration parameters
Description of the configuration parameters that are used when processing a request in the system
Dictionaries
Provides a list of links to dictionaries that are available in Confluence
Input parameters
ATTRIBUTES - see on Apiary
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | -- | -- | -- | -- | -- |
Request structure
See on API-specification (посилання на сторінку з API-специфікацією)
Description of the REST API request structure, example
Expand | ||
---|---|---|
| ||
|
...
Check ended_at >= started_at
in case of error - return 422 error “Ended date must be >= Started date!“
Validate started_at >= created_at, but not greater than (created_at + MEDICATION_REQUEST_REQUEST_EXTENDED_LIMIT_STARTED_AT_DAYS)
if invalid - return 422 error (message: "The start date should be equal to or greater than the creation date, but the difference between them should be not exceed {{MEDICATION_REQUEST_REQUEST_EXTENDED_LIMIT_STARTED_AT_DAYS}} day(s).")
Validate started_at >= current_date()if invalid - return 422 error (message: "Started date must be >= current date!")
Check created_at >= (current date - MEDICATION_REQUEST_REQUEST_DELAY_INPUT)
in case of error - return 422 “Create date must be >= Current date - MRR delay input!”
...
There is a list of medications (medications.type = BRAND OR medications.type = INNM_DOSAGE) which can be used for the program. It must be check whether there is at least one available medication (with `medication_request_allowed` == TRUE) for the Innm for the particular program
...
Check if there is at list one record of Brand with requested primary container volume in case when found medications is not medications.type = INNM_DOSAGE:
a. if not exist - return 404 error (message: "Not found any appropriate medication with such container parameters")
...
Check max allowed quantity for the treatment period. If there in a list of medications is at list one record with medications.type = INNM_DOSAGE do p.4.2 and skip p.4.1
4.1. in case when found medications is medications.type = BRAND:
Get non-null max_daily_dosage from all filtered above program medications
Define max value among max_daily_dosage as highest_max_daily_dosage
Get package_min_qty from all related brands, connected to found program medications
Define min value among package_min_qty as lowest_package_min_qty
...
i. in case of error - return 422 “The amount of medications in medication request is not complying with max_daily_dosage and treatment period limit”.
4.2. in case when found medications is medications.type = INNM_DOSAGE:
Get non-null max_daily_dosage from all filtered above program medications
Define max value among max_daily_dosage as highest_max_daily_dosage
a. Validate: ((highest_max_daily_dosage × (ended_at - started_at+1)) - medication_qty) >= 0
i. in case of error - return 422 “The amount of medications in medication request is not complying with max_daily_dosage and treatment period limit”
Check compliance of medication quantity in case when found medications is not medications.type = INNM_DOSAGE: remainder of the division (medication_qty/package_min_qty) is equal to 0
...
if (ended_at - started_at + 1) >= MEDICATION_REQUEST_REQUEST_STANDARD_DURATION chart param then
created_at from prequalify request should be greater then (ended at - MEDICATION_REQUEST_MAX_RENEW_DAY) of the found MRin case of error return 422 error ('It's to early to create new medication request for such innm_dosage and medical_program_id')
if (ended_at - started_at + 1) < MEDICATION_REQUEST_REQUEST_STANDARD_DURATION chart param then
created_at from prequalify request should be greater then (ended at - MEDICATION_REQUEST_MIN_RENEW_DAY) of the found MRin case of error return 422 error ('It's to early to create new medication request for such innm_dosage and medical_program_id')
...
Validate employee_id as described on Create Medication request Request. Except on Prequalify method a declaration has not checked for the employee.
6. Check Care plan and Activity
...
If medication request has program with MEDICATION_REQUEST_MAX_PERIOD_DAY in medical program setting:
Check that medication request period (ended_at - started_at + 1) less than or equal to medical program setting MEDICATION_REQUEST_MAX_PERIOD_DAY parameter
in case of error - return 200 with status = INVALID and rejection_reason = “Period length exceeds allowed value for the medical program“
If medication request has program without MEDICATION_REQUEST_MAX_PERIOD_DAY in medical program setting:
Check that medication request period (ended_at - started_at + 1) less than or equal to MEDICATION_REQUEST_MAX_PERIOD_DAY parameter from charts
in case of error - return 200 with status = INVALID and rejection_reason = “Period length exceeds default maximum value“
...
Validate "context" is an active (not entered-in-error) entity from corresponding dictionary, that belongs to the current patient
Validate there is an entity in collection $.data.context.identifier.type.coding[0].code with id == $.data.context.identifier.value that belongs to the current patient
in case of error - return 200 with status = INVALID and rejection_reason = “Entity not found“
encounter diagnosis is not empty in $.encounter.diagnosis
in case of error return 422 ("Encounter without diagnosis can not be referenced")
Validate context.identifier.type.coding[0].code = encounter
in case of error return 422 ("value is not allowed in enum")
encounter diagnosis is not empty in $.encounter.diagnosis
in case of error return 422 ("Encounter without diagnosis can not be referenced")
9. Check person
It is needed to check if person has allowed verification status to get medication.
...
If the medical program has no setting skip_contract_provision_verify or it is equal to false/null:
If medical program has funding_source = LOCAL:
Check there is exists any active medical program provision with msp_legal_entity_id equal to employee's legal entity
in case of error - return 200 with status = INVALID and rejection_reason = "Medical program is not provided for legal entity specified in the medication request"
Processing
A list of processes related to receiving, changing or transmitting data according to the logic defined in the REST API
Response structure examples
Collect array for all programs in payload with status for each (VALID or INVALID) and rejection_reason.
See on API-specification (посилання на сторінку з API-специфікацією)
Description of the REST API response structure, example
Expand | ||
---|---|---|
| ||
|
...
Response code | HTTP Status code | Message | Internal name | Description | |||
---|---|---|---|---|---|---|---|
1 | Базові | ||||||
2 | 200 | Encounter in context has no primary diagnosis allowed for the medical program | У контексті обрано посилання на взаємодію без первинного діагнозу, що визначений для обраної програми відшкодування | ||||
3 | 200 | Period length exceeds allowed value for the medical program | Вказана тривалість курсу лікування перевищує допустиму в рамках обраної програми відшкодування | ||||
4 | 200 | Period length exceeds default maximum value | Тривалість періоду перевищує максимальне значення, що визначене системою | ||||
5 | 200 | Entity not found | Сутність не знайдено | ||||
6 | 200 | Medical program is not provided for legal entity specified in the medication request | Створення рецепту за обраною програмою не дозволене для вашого закладу | ||||
7 | 401 | Invalid access token | Недійсний токен доступу | ||||
8 | 403 | Your scope does not allow to access this resource. Missing allowances: medication_request_request:write | Для вашої ролі відсутній доступ до цього ресурсу. Необхідний доступ на редагування заявки на електронний рецепт | ||||
9 | 404 | Not found any appropriate medication with such container parameters | Не знайдено жодного лікарського засобу з такими параметрами первинної упаковки | ||||
10 | 404 | Not found any appropriate medication complying with max_request_dosage limit | Не знайдено жодного лікарського засобу, який би відповідав обмеженню максимального дозування {{max_request_dosage}} | ||||
11 | 409 | Plan can't be qualified | План лікування не може бути перевіреним на відповідність програмі реімбурсації | ||||
12 | 422 | required property %{property} was not present | Обов'язкові поля %{property} не вказані | ||||
13 | 422 | value is not allowed in enum | Недопустиме значення | ||||
14 | 422 | Prior prescription is not found | Первинний рецепт не знайдено | ||||
15 | 422 | Only employee of active divisions can create medication request! | Лише працівник активного підрозділу може створити заявку на рецепт | ||||
16 | 422 | Ended date must be >= Started date! | Дата закінчення курсу лікування має дорівнювати чи бути пізніше дати початку курсу лікування | ||||
17 | 422 | The start date should be equal to or greater than the creation date, but the difference between them should be not exceed {{MEDICATION_REQUEST_REQUEST_EXTENDED_LIMIT_STARTED_AT_DAYS}} day(s) | Дата початку повинна бути такою ж або пізнішою за дату створення, але різниця між ними не повинна перевищувати {{MEDICATION_REQUEST_REQUEST_EXTENDED_LIMIT_STARTED_AT_DAYS}} день(днів). | ||||
18 | 422 | Create date must be >= Current date - MRR delay input! | Дата створення повинна бути >= Поточна дата - 3 доби | ||||
19 | Medical program not found | Програма реімбурсації не знайдена | |||||
20 | Medical program is not active | Програма реімбурсації не активна | |||||
21 | Innm not on the list of approved innms for program {program_name} | Лікарський засіб відсутній у програмі реімбурсації #{program.name} | |||||
22 | 422 | The amount of medications in medication request is greater than available maximum for the max_daily_dosage and treatment period limit | Перевищено максимально допустиму кількість лікарського засобу, що дозволена до виписування в одному електронному рецепті | ||||
23 | 422 | The amount of medications in medication request is not complying with max_daily_dosage and treatment period limit | Перевищено максимально допустиму кількість лікарського засобу за кількістю лікарського засобу на добу, що дозволена до виписування в одному електронному рецепті. Максимально допустиме дозування на добу для вказаного періоду лікування становить Х [одиниці виміру]. Х [одиниці виміру] - значення, розраховані МІС відповідно до валідації Системи | ||||
24 | 422 | The amount of medications in medication request must be divisible to package minimum quantity | Кількість лікарського засобу у заявці на рецепт повинна бути кратна мінімально неподільній кількості лікарського засобу в упаковці | ||||
25 | It can be only 1 active / completed medication request request or medication request per one innm for the same patient at the same period of time! | Може бути лише 1 активний / погашений електронний рецепт або запит на створення електронного рецепту на одну МНН в один і той же час | |||||
26 | 422 | It's to early to create new medication request for such innm_dosage and medical_program_id | Створення нового електронного рецепта для дозування МНН за обраною програмою відшкодування є передчасним | ||||
27 | Medical program from activity should be equal to medical program from request | Програма відшкодування у заявці на рецепт повинна бути такою ж як і в призначенні на лікарський засіб | |||||
28 | 422 | Encounter without diagnosis can not be referenced | Не можна посилатися на взаємодію без діагнозу | ||||
29 | 200 | Encounter in context has no primary diagnosis allowed for the medical program | У контексті обрано посилання на взаємодію без первинного діагнозу, що визначений для обраної програми відшкодування | 30 | 200 | Period length exceeds allowed value for the medical program | Вказана тривалість курсу лікування перевищує допустиму в рамках обраної програми відшкодування |
31 | Специфічні | ||||||
Специфічні | |||||||
30 |
Post-processing processes
Description of actions performed on data after processing
Technical modules where the method is used
List of pages describing technical modules where the method is used
Page Properties Report | ||||
---|---|---|---|---|
|
...