Properties of a REST API method document
Document type
Метод REST API
Document title
REST API Reject Medication Dispense by Pharmacy User [API-005-008-001-0130]
Guideline ID
GUI-0011
Author
@Iryna Lishtaba (SoE eHealth)
Document version
1
Document status
PROD
Date of creation
14.10.2014
Date of update
27.02.2025
Method API ID
API-005-008-001-0130
Microservices (namespace)
IL
Link на API-специфікацію
ESOZ · Apiary
Resource
{{host}}/api/pharmacy/medication_dispenses/{{id}}/actions/reject
Scope
medication_dispense:reject
Protocol type
REST
Request type
PATCH
Sync/Async
Sync
Public/Private
Public
Purpose This method is designed to reject previously created Medication dispense.
Key points Only authenticated and authorized users of legal entity who has created Medication dispense can reject Medication dispense.
Medication dispense can be rejected only from ‘NEW' status.
Logic Update Medication dispense data in OPS DB:
set status = ‘REJECTED’
updated_by = user_id
updated_at = now().
Configuration parameters Access to the method is defined by the scope medication_dispense:reject . Permission for this scope is determined by the System administrator by configuring scopes in the context of clients and roles.
Dictionaries N/A
Input parameters
1 id
string
a89f6a26-4221-4597-a1d2-542d5e40b565
Request structure See on API-specification
Headers Headers
Request data validation Authorize Verify the validity of access token
in case of validation fails - return 401 (message: “Invalid access token”)
Verify that token is not expired
in case of error - return 401 (message: “Invalid access token”)
Check user scopes in order to perform this action (scope = 'medication_dispense:reject')
in case of invalid scope(s) - return 403 (message: “Your scope does not allow to access this resource. Missing allowances: medication_dispense:reject”)
Validate Medication dispense Get Medication dispense identifier from the URL
Check Medication dispense exists in DB (OPS)
in case of error - return 404 (message: “not_found”)
Check Medication dispense belongs to legal entity
in case of error - return 404 (message: “not_found”)
Validate User Extract user_id from token
in case employee didn’t create medication dispense - return 404 (message: “not_found”)
Validate transition Get status of Medication dispense by $.id in OPS DB. Check that Medication dispense is in status ‘NEW’
in case of error - return 409 (message: "Can't update medication dispense status from {status} to REJECTED")
For more information look at Medication dispense status model .
Processing N/A
Response structure examples See on API-specification
Example
{
"meta": {
"code": 200,
"url": "https://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"data": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"medication_request": {
"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",
"person": {
"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",
"mr_blank_type": "F-1",
"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"
}
}
],
"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
}
},
"dispensed_at": "2017-08-17",
"dispensed_by": "Іванов Іван Іванович",
"party": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович"
},
"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",
"name": "Бориспільське відділення Клініки Ноунейм",
"legal_entity_id": "d290f1ee",
"type": "CLINIC",
"status": "ACTIVE",
"mountain_group": false,
"dls_id": "2872985",
"dls_verified": true
},
"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",
"mr_blank_type": "F-1",
"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"
},
"details": [
{
"medication": {
"name": "Амідарон",
"type": "MEDICATION",
"manufacturer": {
"name": "ПАТ \"Київський вітамінний завод\"",
"country": "UA"
},
"form": "PILL",
"container": {
"numerator_unit": "PILL",
"numerator_value": 1,
"denumerator_unit": "PILL",
"denumerator_value": 1
},
"form_pharm": "DISPERSIBLE_TABLET"
},
"program_medication_id": "64c06ebc-0266-4645-85f0-7a6900d7dfbe",
"medication_qty": 0,
"sell_price": 18.65,
"sell_amount": 186.5,
"discount_amount": 150,
"reimbursement_amount": 450,
"medication_2d_codes": [
{
"medication_2d_code": "0104820005161713171812001022431115 211XV82HPV"
}
]
}
],
"payment_id": "1239804",
"payment_amount": 50,
"status": "NEW",
"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"
}
}
HTTP status codes
1 2
401
Invalid access token
Недійсний токен доступу
3
403
Your scope does not allow to access this resource. Missing allowances: medication_dispense:reject
Для вашої ролі відсутній доступ до цього ресурсу. Необхідний доступ на відкликання погашення рецепта
4
404
not_found
Не знайдено
5
409
Can't update medication dispense status from {status} to REJECTED
Не вдається оновити статус заявки на погашення рецепта із вказаного статусу {status} на ВІДХИЛЕНО
6 7
Post-processing processes N/A
Technical modules where the method is used