Table of Contents |
---|
Purpose
This WS is designed to sign Request fo Medication request (patch). If successful signed - automatically create Medication request.
Key points
Only authenticated and authorized users with appropriate scope can Sign Medication request Request (MRR)
Request should be signed with DS.
MRR data should be changed when it has been submitted to the method.
Specification
...
Project Name
...
Електронний рецепт
...
COVID-certificate
...
Project abreviation
...
ePrescription
...
SVC
...
Developer
...
Edenlab
...
Розробник методу API. Наприклад, Edenlab
...
Project Manager
...
...
Tech Lead
...
Mynchenko Andrii (SoE eHealth)
...
Product Owner
...
...
Вusiness analyst
...
Iryna Lishtaba (SoE eHealth) Oleksandr Zhuk (SoE eHealth) Oksana Demchenko
...
Status
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
...
Version
...
API paragraph not found
...
1.0
...
Date of release
...
PROD
...
Table of Contents |
---|
Purpose
This WS is designed to sign Request fo Medication request (patch). If successful signed - automatically create Medication request.
Key points
Only authenticated and authorized users with appropriate scope can Sign Medication request Request (MRR)
Request should be signed with DS.
MRR data should be changed when it has been submitted to the method.
Specification
Page Properties | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Logic
Method receives signed message (pkcs7) including signed content, digital signature and signer public key in signed_content
property. All signature fields will be validated (including signer certificate authority).
...
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
...
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 == OFFLINE (or medication_request_notification_disabled = true) - set medication_request_request.verification_code to MEDICATION_REQUEST_TEMPLATE
...