ЕСОЗ - публічна документація
RС_[UPD] Get Device request details
Purpose
This WS is designed to return Device request details by identifier.
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 = 'device_request:read')
Return (403, 'Your scope does not allow to access this resource. Missing allowances: device_request:read') in case of invalid scope(s)
Access to the resource is also managed by RС_[UPD] ABAC rulesarchived.
Service logic
Service returns specified Device requests related to the patient:
Get Device requests from device_request collection (MongoDB)
Validate data consistency:
Ensure that requested Device requests relates to requested Patient (from URL)
Return 403 ('Access denied') in case of error
Fill in
urgent
block with current authentication method and verification_code field:Get program from request and (if provided) get program setting
request_notification_disabled
If person has OTP or THIRD_PERSON (with OTP) authentication method and
request_notification_disabled
= false/null (or absent), then set phone_number and verification_code=nullif person has OTP or THIRD_PERSON (with OTP) authentication method and
request_notification_disabled
= true, then set verification_code and phone_number
Render a response according to the specification
Calculate remaining quantity:
Select all Device dispenses in status completed related to the Device request
Sum
quantity
in the filtered Device dispenses as dispensed_qtyCalculate remaining_quantity = requested_quantity- dispensed_quantity
Return remaining_quantity in the response
ЕСОЗ - публічна документація