...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Table of Contents |
---|
Status
...
...
Purpose
This WS is design to update reimbursement and/or flags "is_active", "medication_request_allowed" for Medication within Medical_program.
WS logic
Authorize
- Verify the validity of access token
- In case error - generate 401 response
- Check user scope (scope = 'program_medication:write') in order to perform this action
- In case error - generate 403 response
Verify the validity of access token
- Check user scope (scope = 'program_medications:write') in order to perform this action
- In case error - generate 401 response
Validate request (JSON schema)
- Validate request using JSON schemas:
- Return 422 with list of validation errors in case validation fails (422 EView)
Validate PK Program Medications
1. Check participant Program_medication ($.id) exists in PRM.medications
In case of error - return 422 error (message: "ID for Medication within the Medical program is not found")
Code Block | ||
---|---|---|
| ||
{:error, [{%{
description: "ID for Medication within the Medical program is not found",
params: [],
rule: :invalid
}, "$.id"}]} |
Validate status
1. Validate `is_active` == TRUE
- if invalid - return 409 eror (message: "Medication within the program is inactive")
Validate medical_request_allowed status
To deactivate Participant (to update is_active == FALSE for medication within the program with id={id}) medical_request_allowed must be inactive (medical_request_allowed == FALSE)
- Validate medical_request_allowed == FALSE
- if invalid - return 409 eror (message: "To deactivate medication within the program firstly disable medical_request_allowed")
Update Program Medication
Update medication record by $.id set values:
...
Destination
...
Source
...
$.is_active
...
Table of Contents |
---|
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
Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
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
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)
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 medicationCarePlanActivityAllowed submitted, than check program medication is_active = true
in case of error - return 409 ('To allow create care plan activity 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')
HTTP status codes
Page Properties | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|