Properties of a REST API method document
Document type | Метод REST API |
---|
Document title | [Document status] REST API [Назва методу] [ID методу] |
---|
Guideline ID | GUI-0011 |
---|
Author | @ |
---|
Document version | 1 |
---|
Document status | DRAFT |
---|
Date of creation | ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD) |
---|
Date of update | ХХ.ХХ.ХХХХ (дата зміни версії) |
---|
Method API ID | API-005-008-002-0150 |
---|
Microservices (namespace) | IL |
---|
Component | ePrescription |
---|
Component ID | COM-005-008 |
---|
Link на API-специфікацію | https://ehealthmisapi1.docs.apiary.io/#reference/public.-reimbursement/medication-request/resend-medication-request |
---|
Resource | {{host}}/api/medication_requests/{{id}}/actions/resend |
---|
Scope | medication_request:resend |
---|
Protocol type | REST |
---|
Request type | PATCH |
---|
Sync/Async | Sync |
---|
Public/Private | Public |
---|
Purpose
This WS is designed to resend SMS to person with Medication request info.
Key points
Only authenticated and authorized user with an appropriate scope can resend Medication request info.
Medication request info can be resend only to a person with verification_type = OTP.
Medication request info can be resend only for medication requests with intent order.
Medication request info can be resend only from ‘ACTIVE' status.
Configuration parameters
Dictionaries
Input parameters
Description of input parameters
| | | | | |
---|
1 | id | M | String | Medication Request identifier | a89f6a26-4221-4597-a1d2-542d5e40b565 |
Request structure
See on API-specification (посилання на сторінку з API-специфікацією)
Description of the REST API request structure, example
Request data validation
Authorize
Verify the validity of access token
Verify that token is not expired
Check user scopes in order to perform this action (scope = 'medication_request:resend')
Validate Medication request
Validate intent
Validate status
Validate medical program
Get Medication request by $.id in OPS DB. If medical program exists in the medication request:
Validate verification code
Validate person
Processing
Call SMS timeout procedure to check if resending is allowed using:
MR_MAX_ATTEMPTS_COUNT as MAX_ATTEMPTS_COUNT;
MR_SEND_TIMEOUT as SEND_TIMEOUT;
"medication_request" as entity_name;
medication_request_id as entity_id.
In case of error - return 429 ("Sending SMS timeout. Try later. Next attempt will be available at <attempts.oldest.value + SEND_TIMEOUT>").
Generate SMS text
get template from sign_template_sms parameter;
enrich template with data from Medication request.
Send SMS to a person.
Процеси роботи з випискою електронних рецептів
Технічний опис бізнес-процесу виписування рецепту в ЕСОЗ (загальний процес для усіх рецептурних ЛЗ, в т.ч. і тих, які підлягають реімбурсації)
Response structure examples
See on API-specification (посилання на сторінку з API-специфікацією)
Description of the REST API response structure, example
{
"meta": {
"code": 200,
"url": "https://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"data": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"status": "ACTIVE",
"request_number": "0000-243P-1X53-EH38",
"created_at": "2017-08-17",
"started_at": "2017-08-17",
"ended_at": "2017-09-16",
"dispense_valid_from": "2017-08-17",
"dispense_valid_to": "2017-09-16",
"legal_entity": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"name": "Клініка Ноунейм",
"short_name": "Ноунейм",
"public_name": "Клініка Ноунейм",
"type": "MSP",
"edrpou": "5432345432",
"status": "ACTIVE"
},
"division": {
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"legal_entity_id": "c8aadb87-ecb9-41ca-9ad4-ffdfe1dd89c9",
"name": "Бориспільське відділення Клініки Ноунейм",
"addresses": [
{
"type": "RESIDENCE",
"country": "UA",
"area": "Житомирська",
"region": "Бердичівський",
"settlement": "Київ",
"settlement_type": "CITY",
"settlement_id": "b075f148",
"street_type": "STREET",
"street": "вул. Ніжинська",
"building": "15",
"apartment": "23",
"zip": "02090"
}
],
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
],
"email": "email@example.com",
"working_hours": {
"mon": [
[
"08.00",
"12.00"
],
[
"14.00",
"18.00"
]
],
"tue": [
[
"08.00",
"12.00"
]
],
"wed": [
[
"08.00",
"12.00"
]
],
"thu": [
[
"08.00",
"12.00"
]
],
"fri": [
[
"08.00",
"12.00"
]
]
},
"type": "CLINIC",
"external_id": "3213213",
"location": {
"latitude": 30.1233,
"longitude": 50.32423
},
"dls_id": "2872985",
"dls_verified": true
},
"employee": {
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"position": "P6",
"party": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"no_tax_id": true,
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович",
"email": "email@example.com",
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
]
}
},
"person": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"short_name": "Петро І. І.",
"age": 35
},
"medication_info": {
"medication_id": "4a63b858-c138-4921-9341-ae9e384bcbd6",
"medication_name": "Аміодарон 200мг таблетки",
"form": "PILL",
"dosage": {
"numerator_unit": "MG",
"numerator_value": 200,
"denumerator_unit": "PILL",
"denumerator_value": 1
},
"ingredients": [
{
"id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982",
"name": "Інсулін деглюдек",
"name_original": "Insulin degludec",
"sctid": "52574003",
"dosage": {
"numerator_unit": "MG",
"numerator_value": 200,
"denumerator_unit": "PILL",
"denumerator_value": 1
},
"is_primary": true
}
],
"medication_qty": 10.34
},
"medical_program": {
"id": "c7d52544-0bd4-4129-97b0-2d72633e0490",
"name": "Доступні ліки",
"medical_program_settings": {
"care_plan_required": true,
"employee_types_to_create_medication_request": [
"SPECIALIST",
"DOCTOR"
],
"skip_mnn_in_treatment_period": true,
"skip_employee_validation": true,
"speciality_types_allowed": [
"ENDOCRINOLOGY",
"PEDIATRIC_NEUROLOGY"
],
"conditions_icd10_am_allowed": [
"A00.0",
"A00.1"
],
"conditions_icpc2_allowed": [
"A01",
"A02"
],
"providing_conditions_allowed": [
"INPATIENT",
"OUTPATIENT"
],
"medication_request_max_period_day": 90,
"skip_medication_request_employee_declaration_verify": true,
"skip_medication_request_legal_entity_declaration_verify": true,
"multi_medication_dispense_allowed": true,
"skip_medication_dispense_sign": true,
"medication_request_notification_disabled": true,
"skip_contract_provision_verify": true,
"medication_dispense_period_day": 90
},
"medical_program_settings_text": "Some text",
"is_active": true,
"medication_dispense_allowed": true,
"medication_dispense_allowed_text": "Some text",
"medication_request_allowed": true,
"medication_request_allowed_text": "Some text",
"type": "MEDICATION",
"funding_source": "NHS",
"inserted_at": "2017-04-20T19:14:13Z",
"inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e",
"updated_at": "2017-04-20T19:14:13Z",
"updated_by": "2922a240-63db-404e-b730-09222bfeb2dd"
},
"intent": "plan",
"category": "community",
"based_on": [
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "care_plan"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "activity"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
}
],
"context": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "encounter"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
"dosage_instruction": [
{
"sequence": 1,
"text": "0.25mg PO every 6-12 hours as needed for menses from Jan 15-20, 2015. Do not exceed more than 4mg per day",
"additional_instruction": [
{
"coding": [
{
"system": "eHealth/SNOMED/additional_dosage_instructions",
"code": "311504000"
}
]
}
],
"patient_instruction": "0.25mg PO every 6-12 hours as needed for menses from Jan 15-20, 2015. Do not exceed more than 4mg per day",
"timing": {
"event": [
"2017-04-20T19:14:13Z"
],
"repeat": {
"bounds_duration": {
"value": 10,
"unit": "days",
"system": "eHealth/ucum/units",
"code": "d"
},
"count": 2,
"count_max": 4,
"duration": 4,
"duration_max": 6,
"duration_unit": "d",
"frequency": 1,
"frequency_max": 2,
"period": 4,
"period_max": 6,
"period_unit": "d",
"day_of_week": [
"mon"
],
"time_of_day": [
"2017-04-20T19:14:13Z"
],
"when": [
"WAKE"
],
"offset": 4
},
"code": {
"coding": [
{
"system": "TIMING_ABBREVIATIONS",
"code": "patient"
}
]
}
},
"as_needed_boolean": true,
"site": {
"coding": [
{
"system": "eHealth/SNOMED/anatomical_structure_administration_site_codes",
"code": "344001"
}
]
},
"route": {
"coding": [
{
"system": "eHealth/SNOMED/route_codes",
"code": "46713006"
}
]
},
"method": {
"coding": [
{
"system": "eHealth/SNOMED/administration_methods",
"code": "419747000"
}
]
},
"dose_and_rate": {
"type": {
"coding": [
{
"system": "eHealth/dose_and_rate",
"code": "'ordered'"
}
]
},
"dose_range": {
"low": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
},
"high": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
}
},
"rate_ratio": {
"numerator": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
},
"denominator": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
}
}
},
"max_dose_per_period": {
"numerator": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
},
"denominator": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
}
},
"max_dose_per_administration": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
},
"max_dose_per_lifetime": {
"value": 0,
"unit": "mg",
"system": "eHealth/ucum/units",
"code": "mg"
}
}
],
"rejected_at": "2022-01-28",
"rejected_by": "e8e5a969-74d8-4620-8496-f5e41f2e8312",
"reject_reason": "Incompatible drugs",
"reject_reason_code": "PATIENT_REJECT",
"is_blocked": false,
"block_reason": "Підозра на фрод",
"block_reason_code": "WRONG_QTY_DRUG",
"priority": "routine",
"prior_prescription": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "medication_request"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
"container_dosage": {
"system": "MEDICATION_UNIT",
"code": "ML",
"value": 4
}
}
}HTTP status codes
| | | | | |
---|
1 | |
2 | | 401 | Invalid access token | | Недійсний токен доступу |
3 | | 403 | Can't resend Medication request without verification code! | | Неможливо перевідправити інформацію по рецепту без коду верифікації! |
4 | | 404 | Not found | | не знайдено |
5 | | 409 | For medication request plan information cannot be resent | | Для рецепту з типом "План лікування" інформація не може бути повторно відправлена |
6 | | 409 | Invalid status Medication request for resend action! | | Недопустимий статус електронного рецепту для повторної відправки інформації |
7 | | 409 | Notifications are not allowed for the medical program! | | Надсилання смс повідомлень не дозволенні для обраної медичної програми |
8 | | 409 | Person or third person has no OTP auth method | | Пацієнт чи законний представник не мають методу автентифікації OTP (Автентифікації через СМС) |
9 | |
10 | | 422 | Your scope does not allow to access this resource. Missing allowances: medication_request:resend | | Для вашої ролі відсутній доступ до цього ресурсу. Необхідний доступ на повторне надсилання смс з інформацією про електронний рецепт |
11 | | 429 | Sending SMS timeout. Try later. Next attempt will be available at <attempts.oldest.value + SEND_TIMEOUT> | | Час очікування надсилання SMS. Спробуйте пізніше. Наступна спроба буде доступна за <attempts.oldest.value + SEND_TIMEOUT> |
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