Table of Contents |
---|
...
Page Properties | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Global and configurable parameters
No
Input parameters
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
id | String | Required | 6a8a83a4 |
Filters
No
Request structure
...
Get url for medication request upload.
Upload signed medication request request to media storage
Parameter | Source |
---|---|
action | GET |
bucket | from MEDIA_STORAGE_MEDICATION_REQUEST_REQUEST_BUCKET chart var |
resource_id | medication_request_request_id |
resource_name | signed_content |
Create medication request
Create new record in medication_requests with status ACTIVE
if there is existing record in the medication_requests table with the same id and medication_request_request_id, return ok to IL
Mapping (where <rd> = medication_request_request.data )
Destination | Source |
---|---|
id | |
request_number | <rd>.request_number |
verification_code | <rd>.verification_code |
created_at | <rd>.created_at |
started_at | <rd>.started_at |
ended_at | <rd>.ended_at |
dispense_valid_from | <rd>.dispense_valid_from |
dispense_valid_to | <rd>.dispense_valid_to |
person_id | <rd>.person_id |
employee_id | <rd>.employee_id |
division_id | <rd>.division_id |
medication_id | <rd>.medication_id |
medication_qty | <rd>.medication_qty |
medical_program_id | <rd>.medical_program_id |
status | ACTIVE |
is_active | true |
recall_at | NULL |
recalled_by | NULL |
recall_reason | NULL |
request_for_medication_request_id | $.id |
inserted_at | :timestamp |
inserted_by | user_id |
updated_at | :timestamp |
updated_by | user_id |
intent | <rd>.intent |
category | <rd>.category |
context | <rd>.context |
dosage_instructions | <rd>.dosage_instructions |
container_dosage | <rd>.container_dosage |
priority | <rd>.priority |
prior_prescription | <rd>.prior_prescription |
Generate printout form
Invoke ael.api in order to render MEDICATION_REQUEST_TEMPLATE
Template parameters
Parameter | Source | ||
---|---|---|---|
bar code
| request_number | ||
| created_at | ||
| dispense_valid_to | ||
| program.name | ||
| person.short_name | ||
| person.age | ||
| medication.name | ||
| medication_qty | ||
| started_at | ||
| ended_at | ||
| dosage_instruction_text | ||
| employee.short_name | ||
| employee.phone_number | ||
| legal_entity.name | ||
| division.name | ||
| legal_entity.address | ||
| legal_entity.edrpou | ||
| legal_entity.license | ||
| legal_entity.license.license_number | ||
| legal_entity.license.what_licensed | ||
| legal_entity.license.issued_date | ||
| legal_entity.license.issued_by | ||
| legal_entity.license.active_from_date | ||
| legal_entity.license.expiry_date | ||
| legal_entity.license.order_no | ||
| person.authentication_method | ||
| program.mr_blank_type getFromDictionary(<rd>.container-dosage.unit;'MR_BLANK_TYPES') | ||
| program.funding_source
| ||
| program.funding_source_text if {program.funding_source}<>"PERSON" then getFromDictionary({program.funding_source},'FUNDING_SOURCE)' else "" endif | ||
| person.age_unit returns in years ("р.") | ||
| medication.innm_primary_denumerator_unit getFromDictionary({innm_primary.dosage.denumerator_unit};'MEDICATION_UNIT'), | ||
| container_dosage.value <rd>container_dosage.value | ||
| container_dosage.unit getFromDictionary(<rd>container_dosage.unit;'MEDICATION_UNIT') |
Medication request form example:
...
Code Block |
---|
UPDATE medication_request_requests SET status = 'SIGNED' WHERE id = {:id} |
Send SMS for person
If MR has program with medical program setting medication_request_notification_disabled = true, then don't send SMS.
Else:
Get authentication_method of MPI
If authentication_method == OTP - send SMS:
Generate text SMS (call Man method- templates rendering service with template "TEMPLATE_SMS_FOR_SIGN_MEDICATION_REQUEST".
Sending SMS for MPI
If authentication_method method == OFFLINE (or medication_request_notification_disabled = true) -
set medication_request_request.verification_code to MEDICATION_REQUEST_TEMPLATE
Calculate and set remaining quantity for the activity
If the medication request request is based on activity with quantity:
recalculate and set remaining_quantity for the activity as described at Create Medication Request: Validate based_on (p. 2.d.1 )
Response structure
Example:
...
Post-processing processes
No
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
200 | Response |
|
401 | Invalid access token |
|
403 |
| |
409 | Invalid status Medication request Request for sign transition! | |
422 |
|
Backward compatibility
API paragraph not found
...