...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Table of Contents |
---|
Status
...
...
Purpose
This WS is design to update reimbursement and/or flags "is_active", "medication_request_allowed" for Medication brand within Medical program.
WS logic
Authorize
- Verify the validity of access token
- In case of error - generate 401 response
- Check user scope (scope = 'program_medication:write') in order to perform this action
- In case of error - generate 403 response
Verify the validity of access token
- Check user scope (scope = 'program_medication:write') in order to perform this action
- In case of 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 Brands
1. Check participant (Program_medication) ($.id) exists in PRM.program_medications
In case of error - return 422 error (message: "ID for Medication brand within the Medical program is not found")
Code Block | ||
---|---|---|
| ||
{:error, [{%{
description: "ID for Medication brand 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 brand within the program is inactive")
Validate medical_request_allowed status
To deactivate Participant (to update is_active == FALSE for medication brand 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 brand within the program firstly disable medical_request_allowed")
Update Program medication
Update program_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 an appropriate scope can update a Program medication.
Specification
Page Properties | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
Preconditions
API paragraph not found
Global and configurable parameters
API paragraph not found
Input parameters
API paragraph not found
Filters
API paragraph not found
Dictionaries
API paragraph not found
Specification
Expand | ||
---|---|---|
|
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
API paragraph not found
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
API paragraph not found
Post-processing processes
API paragraph not found
HTTP status codes
Page Properties | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Backward compatibility
API paragraph not found