Purpose
This WS allows to update existing medication program participant.
This method is used to update flags "is_active" and/or "medication_request_allowed" for Medication within Medical_program. Fields descriptions are listed in request Example view.
Specification
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.
Key points
This is a graphQl method used in Administration panel only.
Only authenticated and authorized NHS employee with an appropriate scope can update a Program medication.
Input parameters
Parameter | Value | Type | Description | Example |
---|---|---|---|---|
id | String | Record id |
|
GraphQl Specification
Request structure*
See on Apiary
Authorize
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).
Headers
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Request data validation
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').
Processing
API paragraph not found
Response structure
See on Apiary
Post-processing processes
API paragraph not found