ЕСОЗ - публічна документація
RC_Update Program medication (Admin CDB)
Purpose
This WS allows to update existing medication program participant
Key points
This is a graphQl method used in Administration panel only
Only authenticated and authorized NHS employee with appropriate scope can update a Program medication.
Specification
Authorization
Verify the validity of access token
in case of error - 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 = 'program_medication:write')
return 403 (“Your scope does not allow to access this resource. Missing allowances: program_medication:read”) in case of invalid scope(s)
Validate legal entity
Extract client_id from token.
Check client scopes in order to perform this action (scope = 'program_medication:write')
in case of error - return 403 (“Your scope does not allow to access this resource. Missing allowances: program_medication:write”)
Check legal entity type (type = NHS)
In case of error - return 403 ('You don’t have permission to access this resource')
Validate medication
Get medication by program_medications.medication_id
Check medication is_active = true
in case of error - return 409 ('Medication is not active')
Validate request
Check program medication id exists in DB
in case of error - return 404 ('not_found')
If medicationRequestAllowed submitted, than check program medication is_active = true
in case of error - return 409 ('To allow medication request firstly enable program medication')
If is_active submitted as false to deactivate program medication, than check medication_request_allowed = false
in case of error - return 409 ('To deactivate medication brand within the program firstly disable medical_request_allowed')
if reimbursement structure submitted, than check program medication is_active = true
in case of error - return 409 ('To update reimbursement firstly enable program medication')
Service logic
Update params submitted on input in the program medication entity. Also, set:
updated_by = current user (from token)
updated_at = current date and time
ЕСОЗ - публічна документація