Purpose
This WS is designed to return medication request details by msp users. Receiving Medication request is possible by identifier or request_number.
Specification
Authorization
Verify the validity of access token
Return (401, 'Invalid access token') in case of validation fails
Verify that token is not expired
in case of error - return (401, 'Invalid access token')
Check user scopes in order to perform this action (scope = 'medication_request:details')
Return (403, 'Your scope does not allow to access this resource. Missing allowances: medication_request:details') in case of invalid scope(s)
Access to the resource is also managed by ABAC rules .
Service logic
Service returns specified Medication requests related to the patient:
Get Medication requests from medication_requests (OPS database)
Validate data consistency:
Ensure that requested Medication requests relates to requested Patient (from URL)
Return 403 ('Access denied') in case of error
Render a response according to specification
Calculate medication remaining quantity:
Select all Medication dispenses in status PROCESSED related to the Medication request
Sum medication_qty in the filtered Medication dispenses as dispensed_qty
Calculate medication_remaining_qty = medication_qty - dispensed_qty
Return medication_remaining_qty in the response